iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
自我挑戰組

一天學一篇 Google Codelabs系列 第 22

112/22 - 版面配置、主題設定和動畫 - 建立元素動畫

  • 分享至 

  • xImage
  •  

今天學什麼?

今天閱讀「適用於 Android 開發人員的 Jetpack Compose」第二章「版面配置、主題設定和動畫」的「建立元素動畫

學習筆記

  1. 顏色替換(例如紅底圖換成藍底圖)可以用animateColorAsState,這樣在換顏色時會有一個漸增效果
    • 沒有加動畫
      val backgroundColor = if (tabPage == TabPage.Home) 紅色 else 藍色
      
    • 有加動畫
      val backgroundColor by animateColorAsState(if (tabPage == TabPage.Home) 紅色 else 藍色)    
      
  2. 按鈕展開或縮小,可以用AnimatedVisibility來增加動畫
    • 沒有加動畫
      if (extended) {
          Text(...)
      }        
      
    • 有加動畫
      AnimatedVisibility(extended) {
          Text(...)
      }        
      
  3. 顯示更多文字之類,可以用animateContentSize來增加動畫
    • 沒有加動畫
      Column(
          modifier = Modifier
              .fillMaxWidth()
              .padding(16.dp)
      )
      
    • 有加動畫
      Column(
          modifier = Modifier
              .fillMaxWidth()
              .padding(16.dp)
              .animateContentSize()
      )
      
  4. Transition會根據狀態變更來執行值的動畫
  5. InfiniteTransition則會無限期執行值的動畫。

上一篇
112/21 - 版面配置、主題設定和動畫 - Compose 繪圖功能簡介
下一篇
112/23 - 版面配置、主題設定和動畫 - 自訂版面配置與圖形
系列文
一天學一篇 Google Codelabs30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言