android - 旋转动画在 Jetpack Compose 中不起作用

标签 android android-animation android-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")
    }
}
查看this very detailed answer更好地理解为什么修饰符的顺序很重要。

关于android - 旋转动画在 Jetpack Compose 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69115490/

相关文章:

java - 如何在 Java 中将 byte[] 转换为 float[] 并返回?

登录应用程序上的android在两个 Intent 之间切换

java - 如何分别为多个 ​​ListView 实现 onItemClick()?

android - 如何在 Jetpack Compose 中勾勒文本

android - Phonegap/Cordova - 构建 Apk

android - 如何将 FAB(扩展)动画化为新的 Activity

android - 在 XML 定义的动画中使用 PropertyValuesHolder 会导致崩溃

android - 使用 ImageView 动画化图像

android - 为什么它说 "Calls to launch should happen inside a LaunchedEffect and not composition"?

android - 自 Compose BOM 2023.08.00 以来,仪器测试失败,因为惰性列表更改似乎在层次结构中留下了旧节点