public 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.
You can customize the motion scheme for all components in the MaterialTheme.
Functions
defaultSpatialSpec
public fun <T> defaultSpatialSpec(): FiniteAnimationSpec<T>
A default spatial motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that may change the shape or bounds of the component. For color or alpha animations use the effects equivalent which ensures a "non-spatial" motion.
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
public fun <T> fastSpatialSpec(): FiniteAnimationSpec<T>
A fast spatial motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that may change the shape or bounds of the component. For color or alpha animations use the effects equivalent which ensures a "non-spatial" motion.
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
public fun <T> slowSpatialSpec(): FiniteAnimationSpec<T>
A slow spatial motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that may change the shape or bounds of the component. For color or alpha animations use the effects equivalent which ensures a "non-spatial" motion.
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.
defaultEffectsSpec
public fun <T> defaultEffectsSpec(): FiniteAnimationSpec<T>
A default effects motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that do not change the shape or bounds of the component. For example, color animation.
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
public fun <T> fastEffectsSpec(): FiniteAnimationSpec<T>
A fast effects motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that do not change the shape or bounds of the component. For example, color animation.
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
public fun <T> slowEffectsSpec(): FiniteAnimationSpec<T>
A slow effects motion FiniteAnimationSpec.
This motion spec is designed to be applied to animations that do not change the shape or bounds of the component. For example, color animation.
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.
Members
Companion
public companion object
Functions
standard
@Suppress("UNCHECKED_CAST") public 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.
expressive
public 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.