TargetBasedAnimation

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 com.jakewharton.mosaic.animation.Animatable and com.jakewharton.mosaic.animation.Transition. Consider using those APIs for the interruption handling, as well as built-in animation lifecycle management.

Parameters

animationSpec

the com.jakewharton.mosaic.animation.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 com.jakewharton.mosaic.animation.TwoWayConverter that is used to convert animation type T from/to V