如何在Jetpack撰写动画图像?



我还没有看到任何帖子在寻找我想要的东西。我只是想让一个图标在屏幕上移动。只是一个图像,从左到右显示可组合。

到目前为止,我只看到动画在按钮点击或发生某些事情时启动,但我想让这个动画在可组合在第一个视图

时启动

我找到了一个非常简单的答案,我不能使用animatvisibility,因为你不能真正修改对象的水平滑动位置。这是一个非常非常简单的解决我的问题的方法:

var visible by remember { mutableStateOf(false) }
val animationTime = 600
val animationDelayTime = 5
val arrowStartLocation = Offset(0F, 0F)
val arrowEndLocation = Offset(100F, 0F)
LaunchedEffect(Unit) {
visible = true
}
val arrowLocation by animateOffsetAsState(
targetValue = if (visible) arrowEndLocation else arrowStartLocation,
animationSpec = tween(animationTime, animationDelayTime, easing = LinearOutSlowInEasing)
)
ArrowImage(
modifier = Modifier
.offset(arrowLocation.x.dp, arrowLocation.y.dp)
)

0

你可以使用MotionLayout,对于动画的进度,你可以使用一个计数器,每隔几毫秒上升一次,这取决于你想要动画持续多长时间。