MotionScheme

Interface

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

Functions

public fun <T> 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.

public fun <T> 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.

public fun <T> 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.

public fun <T> 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.

public fun <T> 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.

public fun <T> 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.