首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >像Valueanimator一样带有vararg值的Jetpack compose动画animateFloatAsState

像Valueanimator一样带有vararg值的Jetpack compose动画animateFloatAsState
EN

Stack Overflow用户
提问于 2021-09-10 01:43:43
回答 1查看 651关注 0票数 2

我希望实现一个改变比例值的动画,以提醒用户可以单击小部件。在过去,我可以使用Valueanimator

代码语言:javascript
运行
复制
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中,我必须想出这个实现

代码语言:javascript
运行
复制
    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)这样的浮点数,似乎没有什么方便的方法。有没有简单的方法可以做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2021-09-10 03:16:42

您可以使用rememberInfiniteTransition。查看有关documentation中动画的更多信息

代码语言:javascript
运行
复制
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)
)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69126318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档