選擇動畫 API

下圖可協助您決定要使用哪個 API 實作動畫。

這張流程圖展示了用於選擇適當 Animation API 的決策樹狀圖
圖 1:這張決策樹狀圖展示了如何選擇適當的 Animation API。

這張流程圖展示了用於選擇適當 Animation API 的決策樹狀圖

請參考下列決策樹,根據用途選擇最合適的 Animation API:

  • 動畫是否以美術為基礎 (即 SVG 或圖片)?
    • 是:是否使用簡單的 SVG (即含有微動畫的圖示)?
    • 否:動畫是否需要無限重複播放?
      • 是:rememberInfiniteTransition。
      • 否:您是否要為版面配置建立動畫?
        • 是:您是否要在不同內容的可組合項之間切換?
          • 是:您是否使用 Navigation-Compose?
          • 否:您是否要建立內容顯示或消失的動畫?
            • 是:AnimatedVisibility 或 animateFloatAsState 搭配 Modifier.alpha()。
            • 否:您是否要為大小變化製作動畫?
              • 是:Modifier.animateContentSize。
              • 否:您是否要為其他版面配置屬性 (例如偏移或邊框間距) 建立動畫?
                • 是:請參閱「資源是否完全獨立?」一節。
                • 否:您是否要為清單項目加入動畫效果?
        • 否:您是否要為多個屬性加上動畫效果?
          • 是:這些屬性是否完全獨立?
          • 否:動畫是否有預先定義的目標值?
            • 是:animate*AsState。在「Text」部分,使用 TextMotion.Animated。
            • 否:動畫是否由手勢驅動,且為單一事實來源?

下載圖表的 PDF 版本。