前言
简单动画推荐使用 animate*AsState 或 rememberInfiniteTransition,复杂交互动画则适合 Animatable 或 updateTransition。
个人比较喜欢使用Animatable,灵活方便。
倒计时组件
这里动画执行完,再改变的时间数字,没有用协程分别处理是因为可能出现动画执行没完成或超出才停止的问题。
1 | import android.util.Log |
重新执行
当我们需要重新计时的时候,因为传参是一样的,不会触发重组。
推荐做法:
用
key+ 外部状态控制重置
示例
1 |
|
使用示例
1 | val numState = remember { mutableIntStateOf(5) } |