animateValueAsState
@Composable
public fun <T, V : AnimationVector> animateValueAsState(
targetValue: T,
typeConverter: TwoWayConverter<T, V>,
animationSpec: AnimationSpec<T> = remember { spring() },
visibilityThreshold: T? = null,
label: String = "ValueAnimation",
finishedListener: ((T) -> Unit)? = null,
): State<T>
Fire-and-forget animation function for any value. This Composable function is overloaded for
different parameter types such as Dp
, Color
, Offset
,
etc. When the provided targetValue
is changed, the animation will run automatically. If there
is already an animation in-flight when targetValue
changes, the on-going animation will adjust
course to animate towards the new target value.
animateValueAsState
returns a State
object. The value of the state object will continuously
be updated by the animation until the animation finishes.
Note, animateValueAsState
cannot be canceled/stopped without removing this composable function
from the tree. See Animatable
for cancelable animations.
data class MySize(val width: Dp, val height: Dp)
Parameters
targetValue | Target value of the animation |
typeConverter | A TwoWayConverter to convert from the animation value from and to an AnimationVector |
animationSpec | The animation that will be used to change the value through time. Physics animation will be used by default. |
visibilityThreshold | An optional threshold to define when the animation value can be considered close enough to the targetValue to end the animation. |
label | An optional label to differentiate from other animations in Android Studio. |
finishedListener | An optional end listener to get notified when the animation is finished. |
Returns
A State object, the value of which is updated by animation. |
Deprecated animate*AsState APIs now have a new label parameter added.
@Composable
public fun <T, V : AnimationVector> animateValueAsState(
targetValue: T,
typeConverter: TwoWayConverter<T, V>,
animationSpec: AnimationSpec<T> = remember { spring() },
visibilityThreshold: T? = null,
finishedListener: ((T) -> Unit)? = null,
): State<T>