MotionScheme
interface MotionScheme
A motion scheme provides all the FiniteAnimationSpecs for a MaterialTheme.
Motion schemes are designed to create a harmonious motion for components in the app.
There are two built-in schemes, a standard and an expressive, that can be used as-is or customized.
Summary
Public companion functions |
|
|---|---|
MotionScheme |
Returns an expressive Material motion scheme. |
MotionScheme |
standard()Returns a standard Material motion scheme. |
Public functions |
|
|---|---|
FiniteAnimationSpec<T> |
<T : Any?> defaultEffectsSpec()A default effects motion |
FiniteAnimationSpec<T> |
<T : Any?> defaultSpatialSpec()A default spatial motion |
FiniteAnimationSpec<T> |
<T : Any?> fastEffectsSpec()A fast effects motion |
FiniteAnimationSpec<T> |
<T : Any?> fastSpatialSpec()A fast spatial motion |
FiniteAnimationSpec<T> |
<T : Any?> slowEffectsSpec()A slow effects motion |
FiniteAnimationSpec<T> |
<T : Any?> slowSpatialSpec()A slow spatial motion |
Public companion functions
expressive
fun expressive(): MotionScheme
Returns an expressive Material motion scheme.
The expressive scheme is Material's recommended motion scheme for prominent UI elements and hero interactions. It provides a visually engaging motion feel.
standard
fun standard(): MotionScheme
Returns a standard Material motion scheme.
The standard scheme is Material's basic motion scheme for utilitarian UI elements and recurring interactions. It provides a linear motion feel.
Public functions
defaultEffectsSpec
fun <T : Any?> defaultEffectsSpec(): FiniteAnimationSpec<T>
A default effects motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that have strict limits and which shouldn't overshoot their targets - such as color or alpha animations. For shape, bounds or other animations which don't have strict limits use the 'spatial` equivalent.
T is the generic data type that will be animated by the system, as long as the appropriate TwoWayConverter for converting the data to and from an AnimationVector is supplied.
defaultSpatialSpec
fun <T : Any?> defaultSpatialSpec(): FiniteAnimationSpec<T>
A default spatial motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that can overshoot their targets
-
such as shape or bounds animations. For color, alpha or other animations which have strict limits use the
effectsequivalent.
T is the generic data type that will be animated by the system, as long as the appropriate TwoWayConverter for converting the data to and from an AnimationVector is supplied.
fastEffectsSpec
fun <T : Any?> fastEffectsSpec(): FiniteAnimationSpec<T>
A fast effects motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that have strict limits and which shouldn't overshoot their targets - such as color or alpha animations. For shape, bounds or other animations which don't have strict limits use the 'spatial` equivalent.
T is the generic data type that will be animated by the system, as long as the appropriate TwoWayConverter for converting the data to and from an AnimationVector is supplied.
fastSpatialSpec
fun <T : Any?> fastSpatialSpec(): FiniteAnimationSpec<T>
A fast spatial motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that can overshoot their targets
-
such as shape or bounds animations. For color, alpha or other animations which have strict limits use the
effectsequivalent.
T is the generic data type that will be animated by the system, as long as the appropriate TwoWayConverter for converting the data to and from an AnimationVector is supplied.
slowEffectsSpec
fun <T : Any?> slowEffectsSpec(): FiniteAnimationSpec<T>
A slow effects motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that have strict limits and which shouldn't overshoot their targets - such as color or alpha animations. For shape, bounds or other animations which don't have strict limits use the 'spatial` equivalent.
T is the generic data type that will be animated by the system, as long as the appropriate TwoWayConverter for converting the data to and from an AnimationVector is supplied.
slowSpatialSpec
fun <T : Any?> slowSpatialSpec(): FiniteAnimationSpec<T>
A slow spatial motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that can overshoot their targets
-
such as shape or bounds animations. For color, alpha or other animations which have strict limits use the
effectsequivalent.
T is the generic data type that will be animated by the system, as long as the appropriate TwoWayConverter for converting the data to and from an AnimationVector is supplied.