選擇動畫 API

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

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

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

請使用下列決策樹狀圖,為您的用途選擇最合適的動畫 API:

  • 動畫是否以圖片為基礎 (即 SVG 或圖片)?
    • 是:是否使用簡單的 SVG (也就是含有微動畫的圖示)?
    • 否:動畫是否需要無限重複播放?
      • 是:rememberInfiniteTransition
      • 否:您是否要為版面配置製作動畫?
        • 是:您是否要在含有不同內容的可組合函式之間切換?
          • 是:您是否使用 Navigation-Compose?
          • 否:您是否要為內容的顯示或消失建立動畫效果?
            • 可以:AnimatedVisibilityanimateFloatAsState (搭配 Modifier.alpha())。
            • 否:您是否要為大小變化製作動畫?
              • 是:Modifier.animateContentSize
              • 否:您是否要為其他版面配置屬性 (例如位移或邊框間距) 製作動畫?
                • 是:請參閱「這些房源是否完全獨立?」。
                • 否:您是否要為清單項目製作動畫?
        • 否:您是否要為多個屬性加上動畫效果?
          • 是:這些資源是否完全獨立?
          • 否:動畫是否具有預先定義的目標值?
            • 是:animate*AsState。如為文字,請使用 TextMotion.Animated
            • 否:動畫是否由手勢驅動,且為單一可靠來源?
              • 是:Animatable,搭配 animateTo / snapTo
              • 否:這是沒有狀態管理的單次動畫嗎?

下載圖表的 PDF 版本