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

Returns a standard Material motion scheme.

Public functions

FiniteAnimationSpec<T>

A default effects motion FiniteAnimationSpec.

FiniteAnimationSpec<T>

A default spatial motion FiniteAnimationSpec.

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

A fast effects motion FiniteAnimationSpec.

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

A fast spatial motion FiniteAnimationSpec.

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

A slow effects motion FiniteAnimationSpec.

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

A slow spatial motion FiniteAnimationSpec.

Public companion functions

expressive

Added in 1.0.0-alpha30
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

Added in 1.0.0-alpha30
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

Added in 1.0.0-alpha30
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

Added in 1.0.0-alpha30
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 effects 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.

fastEffectsSpec

Added in 1.0.0-alpha30
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

Added in 1.0.0-alpha30
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 effects 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.

slowEffectsSpec

Added in 1.0.0-alpha30
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

Added in 1.0.0-alpha30
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 effects 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.