旋转动画在 Jetpack Compose 中不起作用
Rotation animation not working in Jetpack Compose
我尝试了 Jetpack Compose 中的动画。我在旋转动画时遇到问题。
看起来一切都很好。但是不知道为什么不行。
我的代码:
@Composable
private fun RotateAnimationContent() {
val isRotated = rememberSaveable { mutableStateOf(false) }
val rotationAngle by animateFloatAsState(
targetValue = if (isRotated.value) 360F else 0F,
animationSpec = tween(durationMillis = 1500,easing = FastOutLinearInEasing)
)
Column {
Box(modifier = Modifier.background(Color.Red).size(100.dp).rotate(rotationAngle))
Button(
onClick = { isRotated.value = !isRotated.value },
modifier = Modifier.padding(10.dp)
) {
Text(text = "Rotate Box")
}
}
}
将 .rotate(rotationAngle)
作为 Box
的第一个修饰符。在背景和大小之前。
Column {
Box(modifier = Modifier.rotate(rotationAngle).background(Color.Red).size(100.dp))
Button(
onClick = { isRotated.value = !isRotated.value },
modifier = Modifier.padding(10.dp)
) {
Text(text = "Rotate Box")
}
}
检查 以更好地理解为什么修饰符的顺序很重要。
我尝试了 Jetpack Compose 中的动画。我在旋转动画时遇到问题。
看起来一切都很好。但是不知道为什么不行。
我的代码:
@Composable
private fun RotateAnimationContent() {
val isRotated = rememberSaveable { mutableStateOf(false) }
val rotationAngle by animateFloatAsState(
targetValue = if (isRotated.value) 360F else 0F,
animationSpec = tween(durationMillis = 1500,easing = FastOutLinearInEasing)
)
Column {
Box(modifier = Modifier.background(Color.Red).size(100.dp).rotate(rotationAngle))
Button(
onClick = { isRotated.value = !isRotated.value },
modifier = Modifier.padding(10.dp)
) {
Text(text = "Rotate Box")
}
}
}
将 .rotate(rotationAngle)
作为 Box
的第一个修饰符。在背景和大小之前。
Column {
Box(modifier = Modifier.rotate(rotationAngle).background(Color.Red).size(100.dp))
Button(
onClick = { isRotated.value = !isRotated.value },
modifier = Modifier.padding(10.dp)
) {
Text(text = "Rotate Box")
}
}
检查