循环动画 tween durationMillis >= 90195 动画将停留在最后一针

郭大鹏
  • 47

android jetpack compose rememberInfiniteTransition tween durationMillis >= 90195。动画将停留在最后一针。

jetpack compose: v1.0.0-alpha12

动画将停留在最后一针。durationMillis 小于或等于 90194 动画工作,但它非常卡。

Jetpack Compose code:

    /**
     * @see <a href="https://developer.android.com/reference/kotlin/androidx/compose/animation/core/package-summary#rememberinfinitetransition">rememberInfiniteTransition</a>
     * @see <a href="https://developer.android.com/reference/kotlin/androidx/compose/animation/core/package-summary#updatetransition">updateTransition</a>
     */
    val translation by rememberInfiniteTransition().animateValue(
        initialValue = 60.dp,
        targetValue = (-60).dp,
        typeConverter = Dp.VectorConverter,
        animationSpec = infiniteRepeatable(
            animation = tween(90195, easing = LinearEasing),
            repeatMode = RepeatMode.Reverse
        ),
    )

 

    Image(
        painterResource(id = R.drawable.welcome_page_posters),
        contentDescription = "",
        modifier = Modifier
            .fillMaxHeight()
            .scale(3.8f)
            .offset(x = translation, y = (-5).dp),
    )

这个动画是不推荐了吗?

另外 Jetpack Compose 是不是不能像 SwiftUI 那样简单,尤其是处理 if 判断十分显示图标的动画场景。

回复
阅读 300
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏