TargetBasedAnimation
public fun <T, V : AnimationVector> TargetBasedAnimation(
animationSpec: AnimationSpec<T>,
typeConverter: TwoWayConverter<T, V>,
initialValue: T,
targetValue: T,
initialVelocity: T,
): TargetBasedAnimation<T, V>
Creates a TargetBasedAnimation
with the given start/end conditions of the animation, and the
provided animationSpec
.
The resulting Animation
assumes that the start value and velocity, as well as end value do not
change throughout the animation, and cache these values. This caching enables much more
convenient query for animation value and velocity (where only playtime needs to be passed into
the methods).
Note: When interruptions happen to the TargetBasedAnimation
, a new instance should be
created that use the current value and velocity as the starting conditions. This type of
interruption handling is the default behavior for both Animatable
and Transition
. Consider
using those APIs for the interruption handling, as well as built-in animation lifecycle
management.
Parameters
animationSpec | the AnimationSpec that will be used to calculate value/velocity |
initialValue | the start value of the animation |
targetValue | the end value of the animation |
initialVelocity | the start velocity (of type T of the animation |
typeConverter | the TwoWayConverter that is used to convert animation type T from/to V |