我正在尝试将基于视图的代码转换为 Compose。我有一个可组合的,它将图像(画家)作为参数并使用图像可组合显示它。我想要的是,每当参数值发生变化时,我的图像应该进行 360 度旋转,并且图像应该在角度约为 1 时发生变化。180度(即动画中途)
这是我制作的可组合。
@Composable
fun MyImage(displayImage: Painter) {
Image(
painter = displayImage,
contentDescription = null,
modifier = Modifier
.size(36.dp)
.clip(CircleShape)
)
}
现在,当displayImage
更改时,新图像立即显示,没有任何动画(显然)。如何实现所需的动画?
我试图转换的代码如下所示:
fun onImageChange(imageRes: Int) {
ObjectAnimator.ofFloat(imageView, View.ROTATION, 0f, 360f)
.apply {
addUpdateListener {
if (animatedFraction == 0.5f) {
imageView.setImageResource(imageRes)
}
}
start()
}
}