Rit*_*CZE 2 android kotlin android-jetpack android-jetpack-compose
重组(屏幕或某些可组合项)完成后,有什么方法可以运行动画吗?当动画运行的同时有重组时,动画的表现非常差(一点也不流畅)。我尝试delay延迟动画一段时间,但我认为这不是一个好主意。必须有更好的方法来做到这一点。
请提供可生产的示例,这样您就不需要再次询问。合成完成后,您可以通过内部Animatable调用来运行动画。您可以选择带有 lambda 的修饰符对应项,而不是使用 Modifier.offset()、Modifier.background() 创建重组。animatable.animateTo()LaunchedEffect
https://developer.android.com/jetpack/compose/performance/bestpractices#defer-reads
例如,您可以在Draw phase帧内完成合成后对 Alpha 进行动画处理,而无需触发重新合成
val animatable = remember {
Animatable(0f)
}
LaunchedEffect(key1 = Unit) {
animatable.animateTo(1f)
}
Box(
Modifier
.size(100.dp)
.drawBehind {
drawRect(Color.Red.copy(alpha = animatable.value))
}
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1550 次 |
| 最近记录: |