android MotionLayout不能应用Spring动画吗?

of1yzvn4  于 2023-02-17  发布在  Android
关注(0)|答案(1)|浏览(131)

我想使用MotionLayout实现Spring动画。另外,我想给予刚度和阻尼作为自定义值。
顺便说一句,我看到了一些示例,其中您需要使用OnSwipe标记来在MotionLayout中使用Spring动画。
我想要的是动画工作没有用户的触摸。
有什么办法吗?

lyr7nygr

lyr7nygr1#

我们不太清楚你所说的Spring动画是什么意思。如果你想让进程以Spring的形式移动,那么通常你会这样做:

progress.animateTo(
            1f,
            animationSpec = tween(800)
        )
         MotionLayout(
            ...
            progress = progress.value
        )

这可以更改为

val progress by animateFloatAsState(
        targetValue = 1f,
        animationSpec = spring(
            dampingRatio = Spring.DampingRatioHighBouncy,
            stiffness = Spring.StiffnessMedium
        )
    )
    MotionLayout(
            ...
            progress = progress.value
    )

通过创建自定义插值曲线,可以在MotionLayout内部实现类似Spring的效果。

相关问题