我正在尝试在Jetpack Compose中实现指南针,但遇到了动画问题。
我有一个@Composable
函数,它接受用户手机的旋转角度并将指南针图像以相反方向旋转。我使用animateFloatAsState
来实现动画效果,代码如下:
val angle: Float by animateFloatAsState(
targetValue = -rotation, \\ rotation is retrieved as argument
animationSpec = tween(
durationMillis = UPDATE_FREQUENCY, \\ rotation is retrieved with this frequency
easing = LinearEasing
)
)
Image(
modifier = Modifier.rotate(angle),
// rest of the code for image
)
一切看起来都很好,但是当将rotation
从1
修改为359
或者反过来时就会出现问题。动画不会向左旋转2
度,而是向右旋转358
度,这看起来不好。有没有办法制作旋转动画,使用最短的路径?