动画
1. 简单值动画
示例:背景颜色在紫色和绿色之间,以动画形式切换。使用 animateColorAsState()
val backgroundColor by animateColorAsState(if (tabPage == TabPage.Home) Purple100 else Green300)
该句代码中,有一个 backgroundColor 属性来设置背景颜色的变化。在 animateColorAsState() 简单值动画中判断当前页面使用哪种颜色,然后切换页面时带动画效果。
2. 可见性动画
示例:当我们向上滚动 LazyList() 时,FloatingActionButton 收缩时会有明显的动画效果。使用 AnimatedVisibility() 动画显示此可见性变化。
3. 内容大小动画
示例;点击其中一个主题,可以看到它随着动画扩展和收缩。使用 animateContentSize() 当它的内容改变时,这个列的大小是动态的。