MotionScheme
public interface MotionScheme
A motion scheme provides all the FiniteAnimationSpec
s 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.