アニメーション API を選択する

下の図は、アニメーションの実装に使用する API を決定する際に役立ちます。

適切なアニメーション API を選択するための決定木を示すフローチャート

図 1. 適切なアニメーション API を選択する方法の決定木

以下のディシジョン ツリーの質問に沿って、ユースケースに最適なアニメーション API を選択してください。

  • アニメーションはアートに似ており、多くの視覚要素で構成されていますか?SVG や画像 <ph type="x-smartling-placeholder">
      </ph>
    • はい: シンプルな SVG が含まれていますか?マイクロアニメーション付きのアイコン <ph type="x-smartling-placeholder">
    • いいえ: 繰り返し行う必要はありますか?
      • はい: rememberInfiniteTransition
      • いいえ: これはレイアウト アニメーションですか?
        • はい: コンテンツが異なる複数の Compose を切り替える。
          • はい: ナビゲーション作成ではどうしますか?
          • いいえ: 表示 / 非表示をアニメーション化しますか?
            • ○: Modifier.alpha()AnimatedVisibility または animateFloatAsState
            • いいえ: サイズをアニメーション化しますか?
              • ○: Modifier.animateContentSize
              • いいえ: 他のレイアウト プロパティ(オフセット、パディングなど)
                • はい: 「プロパティは互いに完全に独立していますか?」をご覧ください。
                • いいえ: リストアイテムのアニメーション
        • いいえ: 複数のプロパティをアニメーション化する必要がありますか?
          • はい: プロパティは互いに完全に独立していますか?
            • はい: animate*AsState、テキストの場合は TextMotion.Animated を使用します。
            • いいえ: 同時に開始しますか?
              • ○: ○: updateTransitionAnimatedVisibilityanimateFloatanimateInt など)
              • いいえ: animateTo が異なるタイミングで呼び出される Animatable(suspend 関数を使用)
          • いいえ: アニメーションに事前定義されたターゲット値のセットはありますか?
            • はい: animate*AsState、テキストの場合は TextMotion.Animated を使用
            • いいえ: ジェスチャー ドリブン アニメーションアニメーションが唯一の信頼できる情報源であるか?

図の PDF 版をダウンロードします。