我希望实现一个改变比例值的动画,以提醒用户可以单击小部件。在过去,我可以使用Valueanimator
ValueAnimator.ofFloat(0.8f,0.5f,0.8f,1.2f,0.6f,0.8f) //animateFloatAsState only support to define target value,init value在jetpack compose中,我必须想出这个实现
val animate = remember { Animatable(0.8f) }
val playCheckItemAnimation = {
scope.launch {
animate.stop()
for (i in 0..2) {
animate.animateTo(0.8f)
animate.animateTo(0.5f)
animate.animateTo(0.8f)
animate.animateTo(1.2f)
animate.animateTo(0.6f)
animate.animateTo(0.8f)
}
}
}如果我需要设置一组像ValueAnimator.ofFloat(0.8f,0.5f,0.8f,1.2f,0.6f,0.8f)这样的浮点数,似乎没有什么方便的方法。有没有简单的方法可以做到这一点?
发布于 2021-09-10 03:16:42
您可以使用rememberInfiniteTransition。查看有关documentation中动画的更多信息
val infiniteTransition = rememberInfiniteTransition()
val value by infiniteTransition.animateFloat(
0.5f,
0.8f,
animationSpec = infiniteRepeatable(
animation = tween(durationMillis = AnimationConstants.DefaultDurationMillis),
repeatMode = RepeatMode.Reverse
)
)
Box(
Modifier
.padding(10.dp)
.size(100.dp)
.alpha(value)
.background(Color.Red)
)

https://stackoverflow.com/questions/69126318
复制相似问题