今天閱讀「適用於 Android 開發人員的 Jetpack Compose」第二章「版面配置、主題設定和動畫」的「建立元素動畫」
animateColorAsState
,這樣在換顏色時會有一個漸增效果
val backgroundColor = if (tabPage == TabPage.Home) 紅色 else 藍色
val backgroundColor by animateColorAsState(if (tabPage == TabPage.Home) 紅色 else 藍色)
AnimatedVisibility
來增加動畫
if (extended) {
Text(...)
}
AnimatedVisibility(extended) {
Text(...)
}
animateContentSize
來增加動畫
Column(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp)
)
Column(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp)
.animateContentSize()
)
Transition
會根據狀態變更來執行值的動畫InfiniteTransition
則會無限期執行值的動畫。