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 standardMotionScheme and an expressiveMotionScheme, that can be used as-is or customized.

You can customize the motion scheme for all components in the MaterialTheme.

Summary

Public companion functions

MotionScheme

Returns an expressive Material motion scheme.

Cmn
MotionScheme

Returns a standard Material motion scheme.

Cmn

Public functions

FiniteAnimationSpec<T>

A default effects motion FiniteAnimationSpec.

Cmn
FiniteAnimationSpec<T>

A default spatial motion FiniteAnimationSpec.

Cmn
FiniteAnimationSpec<T>
<T : Any?> fastEffectsSpec()

A fast effects motion FiniteAnimationSpec.

Cmn
FiniteAnimationSpec<T>
<T : Any?> fastSpatialSpec()

A fast spatial motion FiniteAnimationSpec.

Cmn
FiniteAnimationSpec<T>
<T : Any?> slowEffectsSpec()

A slow effects motion FiniteAnimationSpec.

Cmn
FiniteAnimationSpec<T>
<T : Any?> slowSpatialSpec()

A slow spatial motion FiniteAnimationSpec.

Cmn

Public companion functions

expressiveMotionScheme

@ExperimentalMaterial3ExpressiveApi
fun expressiveMotionScheme(): MotionScheme

Returns an expressive Material motion scheme.

standardMotionScheme

@ExperimentalMaterial3ExpressiveApi
fun standardMotionScheme(): MotionScheme

Returns a standard Material motion scheme.

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 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.

defaultSpatialSpec

fun <T : Any?> 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.

fastEffectsSpec

fun <T : Any?> 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.

fastSpatialSpec

fun <T : Any?> 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.

slowEffectsSpec

fun <T : Any?> 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.

slowSpatialSpec

fun <T : Any?> 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.