Transition

開始レイアウトと終了レイアウトで UI のモーションにアニメーションを付けます。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2024 年 7 月 24 日 1.5.1 - - -

依存関係の宣言

Transition への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

Groovy

dependencies {
    // Java language implementation
    implementation "androidx.transition:transition:1.5.1"
    // Kotlin
    implementation "androidx.transition:transition-ktx:1.5.1"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.transition:transition:1.5.1")
    // Kotlin
    implementation("androidx.transition:transition-ktx:1.5.1")
}

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

バージョン 1.5

バージョン 1.5.1

2024 年 7 月 24 日

androidx.transition:transition:1.5.1androidx.transition:transition-ktx:1.5.1 がリリースされました。バージョン 1.5.1 に含まれる commit については、こちらをご覧ください。

バグの修正

  • 遷移が開始されていない場合に、シーク可能な遷移での animateToStart() または animateToEnd() の呼び出しが無視される問題を修正しました。(I44d96b/338624457)。

バージョン 1.5.0

2024 年 5 月 1 日

androidx.transition:transition:1.5.0androidx.transition:transition-ktx:1.5.0 がリリースされました。バージョン 1.5.0 に含まれる commit については、こちらをご覧ください。

1.4.0 以降の重要な変更

  • 遷移では、API 34 以降でのシークがサポートされています。TransitionManager に新しい API、controlDelayedTransition() が追加されました。これにより、Transition のシークを許可する TransitionSeekController が返されます。この機能は Fragment 1.7.0 で使用され、予測型「戻る」ジェスチャーの使用時に遷移を自動的にシークします。
  • Transitions には getRootTransition() という新しいメソッドが追加されています。このメソッドは、現在の Transition(他の Transition に含まれない場合は現在の遷移)を含む Transition を返します。これは、デベロッパーが Transition 全体の開始時または終了時のリスナーを必要とする場合に便利です。
  • TransitionListenersonTransitionStart() リスナーと onTransitionEnd() リスナーが新たに追加されました。これによりデベロッパーは、遷移の開始と終了が逆方向に進んでいるかどうかを確認できます。これは、TransitionListeners を持つシーク可能な遷移を開発する際に重要になります。

バージョン 1.5.0-rc02

2024 年 4 月 17 日

androidx.transition:transition:1.5.0-rc02androidx.transition:transition-ktx:1.5.0-rc02 がリリースされました。バージョン 1.5.0-rc02 に含まれる commit については、こちらをご覧ください。

依存関係の更新

  • Fragment の依存関係をバージョン 1.7.0-rc02 に更新しました。これにより、他のすべての遷移がシーク可能なトランザクションにシーク不可能な共有要素を追加するとクラッシュするバグが修正されました。

バージョン 1.5.0-rc01

2024 年 4 月 3 日

androidx.transition:transition:1.5.0-rc01androidx.transition:transition-ktx:1.5.0-rc01 がリリースされました。バージョン 1.5.0-rc01 に含まれる commit については、こちらをご覧ください。

バージョン 1.5.0-beta01

2024 年 3 月 20 日

androidx.transition:transition:1.5.0-beta01androidx.transition:transition-ktx:1.5.0-beta01 がリリースされました。バージョン 1.5.0-beta01 に含まれる commit については、こちらをご覧ください。

バグの修正

  • Fragment で、予測型「戻る」ジェスチャーで受信遷移を中断すると、開始中のビューが破棄され、空白の画面が表示される可能性がある問題を修正しました。(Id3f22b/319531491)。

バージョン 1.5.0-alpha06

2024 年 1 月 10 日

androidx.transition:transition:1.5.0-alpha06androidx.transition:transition-ktx:1.5.0-alpha06 がリリースされました。バージョン 1.5.0-alpha06 に含まれる commit については、こちらをご覧ください

バグの修正

  • TransitionSeekController.animateToStart() が使用される場合、追加された TransitionListeners は、animateToStart() の指定された Runnable の後に onTransitionEnd() が呼び出されるようになりました。(Ic6a55b/307624554)。

依存関係の更新

  • Fragment の依存関係が 1.7.0-alpha08 に更新されました。

バージョン 1.5.0-alpha05

2023 年 11 月 29 日

androidx.transition:transition:1.5.0-alpha05androidx.transition:transition-ktx:1.5.0-alpha05 がリリースされました。バージョン 1.5.0-alpha05 に含まれる commit については、こちらをご覧ください。

バグの修正

  • 共有要素遷移を設定し、enter/exitTransition も設定できないことが原因で発生する NullPointerException を修正しました。(I8472b)。
  • Slide() を持つ animateToStart() がビューを開始位置に戻せなかった問題を修正しました。(I698f4b/300157785
  • キャンセルを中断する Transition での再参加の問題を修正しました。(Iddcceb/308379201)。

バージョン 1.5.0-alpha04

2023 年 10 月 4 日

androidx.transition:transition:1.5.0-alpha04 と `androidx.transition:transition-ktx:1.5.0-alpha04' がリリースされました。バージョン 1.5.0-alpha04 に含まれる commit については、こちらをご覧ください

API の変更

  • 互換性を破る変更 - animateToStart() メソッドは、遷移するビューを元の状態に戻すために使用する Runnable を受け取るようになりました。

バージョン 1.5.0-alpha03

2023 年 9 月 20 日

androidx.transition:transition:1.5.0-alpha03androidx.transition:transition-ktx:1.5.0-alpha03 がリリースされました。バージョン 1.5.0-alpha03 に含まれる commit については、こちらをご覧ください

新機能

  • Fragment 1.7.0-alpha05 とともに使用する場合、Transition で Android 14 デバイスで予測型「戻る」アニメーションがサポートされるようになりました。

バグの修正

  • スライド遷移の中断に関するバグを修正しました。ビューを削除する開始遷移がスライド トランジションによって中断されると、間違った位置にジャンプしていました。(I946f8b/297427333)。

バージョン 1.5.0-alpha02

2023 年 9 月 6 日

androidx.transition:transition:1.5.0-alpha02androidx.transition:transition-ktx:1.5.0-alpha02 がリリースされました。バージョン 1.5.0-alpha02 に含まれる commit については、こちらをご覧ください

新機能

  • TransitionSeekController により、setCurrentFragment() を介して進行状況を合計時間に対する割合として設定できるようになりました。(aosp/2647607)。
  • TransitionSeekController で、addOnProgressChangedListener を呼び出して animateToStart()animateToEnd() を使用する場合の進行状況を監視できるようになりました。(aosp/2647607)。
  • シーンを使用して遷移を検索できるように TransitionManager.seekTo() を追加しました。(aosp/2647607)。
  • 遷移のシークに物理ベースのアニメーションを追加しました。1 次元ベロシティ トラッカーを使用して、setCurrentFraction() または setCurrentPlayTimeMillis() で進行状況の変化をトラッキングし、animateToStartanimateToEnd の初期速度に使用します。(aosp/2647607)。

バグの修正

  • AutoTransition をシークする際のちらつきを修正しました。(aosp/2643369)。
  • Slide による遷移が中断したときに間違った開始位置にジャンプする問題を修正しました。(aosp/2733729b/297427333)。

依存関係の更新

  • 移行が API 34 でコンパイルされるようになりました。

バージョン 1.5.0-alpha01

2023 年 5 月 10 日

androidx.transition:transition:1.5.0-alpha01androidx.transition:transition-ktx:1.5.0-alpha01 がリリースされました。このバージョンは内部ブランチで開発されています。

新機能

  • 遷移は API 34 以降でのシークをサポートしています。新しい API である controlDelayedTransition()TransitionManager に追加されました。この API は、Transition のシークを許可する TransisionSeekController を返します。

API の変更

  • TransitionManager に新しいメソッド controlDelayedTransition() が追加されました。このメソッドを使用すると、API 34 以降で遷移アニメーションの進行状況を制御できます。返される TransitionSeekController により、デベロッパーは遷移がシークの準備が整ったタイミングとアニメーションの再生時間を知ることができ、アニメーションの現在の時刻を設定できます。controlDelayedTransition() では、isSeekable() をオーバーライドして true を返す遷移のみがサポートされています。
  • Transitions には getRootTransition() という新しいメソッドが追加されています。このメソッドは、現在の Transition(他の Transition に含まれない場合は現在の Transition)を含む Transition を返します。これは、デベロッパーが Transition 全体の開始時または終了時のリスナーを必要とする場合に便利です。
  • TransitionListenersonTransitionStart() リスナーと onTransitionEnd() リスナーが新たに追加されました。これによりデベロッパーは、遷移の開始と終了が逆方向に進んでいるかどうかを確認できます。これは、TransitionListeners を持つシーク可能な遷移を開発する場合に重要になります。

バグの修正

  • クローンが作成されたときに、遷移が TransitionListeners をコピーするようになりました。つまり、createAnimator() の間に新しいリスナーを追加しても、ルートの Transition には影響しません。

バージョン 1.4.1

バージョン 1.4.1

2021 年 4 月 21 日

androidx.transition:transition:1.4.1androidx.transition:transition-ktx:1.4.1 がリリースされました。バージョン 1.4.1 に含まれる commit については、こちらをご覧ください

バグの修正

  • あるコンテナで Transition を起動すると、別のコンテナで実行中の他の移行が一時停止して完了しなくなる問題を修正しました。(aosp/1664439b/182845041

バージョン 1.4.0

バージョン 1.4.0

2021 年 1 月 27 日

androidx.transition:transition:1.4.0androidx.transition:transition-ktx:1.4.0 がリリースされました。バージョン 1.4.0 に含まれるコミットについては、こちらをご覧ください

1.3.0 以降の主な変更

  • transition-ktx アーティファクトでは、AndroidX Transition インスタンスにリスナーを追加するための Kotlin 拡張機能が導入されています(b/138870873)。

バージョン 1.4.0-rc01

2020 年 12 月 2 日

androidx.transition:transition:1.4.0-rc01androidx.transition:transition-ktx:1.4.0-rc01 がリリースされました。1.4.0-beta01 からの変更はありません。バージョン 1.4.0-rc01 に含まれるコミットについては、こちらをご覧ください。

バージョン 1.4.0-beta01

2020 年 7 月 22 日

androidx.transition:transition:1.4.0-beta01androidx.transition:transition-ktx:1.4.0-beta01 がリリースされました。1.4.0-alpha01 からの変更はありません。バージョン 1.4.0-beta01 に含まれるコミットについては、こちらをご覧ください

バージョン 1.4.0-alpha01

2020 年 6 月 24 日

androidx.transition:transition:1.4.0-alpha01androidx.transition:transition-ktx:1.4.0-alpha01 がリリースされました。バージョン 1.4.0-alpha01 に含まれるコミットについては、こちらをご覧ください

新機能

  • transition-ktx アーティファクトでは、AndroidX Transition インスタンスにリスナーを追加するための Kotlin 拡張機能が導入されています(b/138870873)。

バージョン 1.3.1

バージョン 1.3.1

2020 年 2 月 19 日

androidx.transition:transition:1.3.1 がリリースされました。バージョン 1.3.1 に含まれる commit については、こちらをご覧ください

バグの修正

  • ChangeTransform を使用した場合に、一部のアニメーション ビューが正しくクリップされないバグを修正しました(b/148798452

バージョン 1.3.0

バージョン 1.3.0

2020 年 1 月 22 日

androidx.transition:transition:1.3.0 がリリースされました。バージョン 1.3.0 に含まれるコミットについては、こちらをご覧ください

1.2.0 以降の重要な変更

  • Fragment 1.2.0 の改善: Fragment 1.2.0 との統合を改善し、Fragment のビューが遷移完了前に破棄されず、さらに遷移が適切なタイミングでキャンセルされるようになりました。

バージョン 1.3.0-rc02

2019 年 12 月 4 日

androidx.transition:transition:1.3.0-rc02 がリリースされました。バージョン 1.3.0-rc02 に含まれるコミットについては、こちらをご覧ください

バグの修正

  • 非表示の Fragment が表示された後にビューが誤って INVISIBLE とされる問題を修正しました。(b/70793925

バージョン 1.3.0-rc01

2019 年 10 月 23 日

androidx.transition:transition:1.3.0-rc01 がリリースされました。1.3.0-beta01 からの変更はありません。バージョン 1.3.0-rc01 に含まれるコミットについては、こちらをご覧ください

バージョン 1.3.0-beta01

2019 年 10 月 9 日

androidx.transition:transition:1.3.0-beta01 がリリースされました。バージョン 1.3.0-beta01 に含まれるコミットについては、こちらをご覧ください

新機能

  • Fragment 1.2.0-beta01 との統合を改善し、Fragment のビューが遷移完了前に破棄されず、さらに遷移が適切なタイミングでキャンセルされるようになりました。(aosp/1119841

バージョン 1.2.0

バージョン 1.2.0

2019 年 10 月 9 日

androidx.transition:transition:1.2.0 がリリースされました。1.2.0-rc01 からの変更はありません。バージョン 1.2.0 に含まれるコミットについては、こちらをご覧ください

バージョン 1.1.0 以降の重要な変更点

API レベル 29 をターゲットとしている場合は、このバージョンを使用する必要があります。そうしないと、遷移の一部が適切に機能しません。このバージョンでは、リフレクション呼び出しの代わりに、API レベル 29 で追加された新しいパブリック メソッドを使用します。これは、SDK 以外のインターフェースを制限する取り組みの一環です。

バージョン 1.2.0-rc01

2019 年 9 月 5 日

androidx.transition:transition:1.2.0-rc01 がリリースされました。バージョン 1.2.0-beta01 からの変更はありません。このバージョンに含まれる commit については、こちらをご覧ください。

バージョン 1.2.0-beta01

2019 年 7 月 2 日

androidx.transition:transition:1.2.0-beta01 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。

新機能

  • targetSdkVersion として 29 を指定する場合は、このバージョンを使用する必要があります。そうしないと、遷移の一部が適切に機能しません。このバージョンでは、リフレクション呼び出しの代わりに、API レベル 29 で追加された新しいパブリック メソッドを使用します。これは、SDK 以外のインターフェースを制限する取り組みの一環です。

バージョン 1.2.0-alpha01

2019 年 5 月 7 日

androidx.transition:transition:1.2.0-alpha01 がリリースされました。

新機能

  • targetSdkVersion として Q を指定している場合は、このバージョンを使用する必要があります。そうしないと、遷移の一部が適切に機能しません。このバージョンでは、リフレクション呼び出しの代わりに、Q で追加された新しいパブリック メソッドを使用します。これは、SDK 以外のインターフェースを制限する取り組みの一環です。

バージョン 1.1.0

バージョン 1.1.0

2019 年 7 月 2 日

androidx.transition:transition:1.1.0 がリリースされました。1.1.0-rc02 からの変更はありません。このバージョンに含まれる commit については、こちらをご覧ください。

バージョン 1.1.0-rc02

2019 年 6 月 5 日

androidx.transition:transition:1.1.0-rc02 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。

バグの修正

  • 依存している遷移で正しく動作するように TransitionManager.endTransitions() を修正しました。(aosp/946400

バージョン 1.1.0-rc01

2019 年 5 月 7 日

androidx.transition:transition:1.1.0-rc01 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。

バージョン 1.1.0-beta01

2019 年 4 月 3 日

androidx.transition:transition:1.1.0-beta01 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。

バグの修正

  • API レベル 17 以下で発生する、Visibility での ViewGroupOverlay のキャッシュに関するバグを修正しました。(aosp/937350

バージョン 1.1.0-alpha02

2019 年 3 月 13 日

androidx.transition:transition:1.1.0-alpha02 がリリースされました。このバージョンに含まれる commit の完全なリストについては、こちらをご覧ください。

API の変更

  • Scene.getCurrentScene() のメソッド パラメータの型が View から ViewGroup に変更されました。

バグの修正

  • setStartDelay() を介して追加の遅延が指定された場合に SidePropagation が機能しない(b/119839526
  • API 21 より前で、中断された場合に ChangeImageTransform が誤ったマトリックスを適用する(b/123226255
  • API 21 より前で、ChangeTransform が正常に機能しない場合がある(b/125777978

バージョン 1.1.0-alpha01

2018 年 12 月 3 日

API の変更

  • aosp/807055: Scene.getCurrentScene(View) メソッドが公開されました。現在のシーンに応じてカスタムの条件付きロジックを作成できます。

バグの修正

  • TransitionManager を使用して RecyclerView のアイテムを折りたたむ / 展開するときのクラッシュを修正しました。(b/37129527
  • Visibility 遷移を 2 つ適用した場合のアニメーションが正しくない問題を修正しました。(b/62629600
  • TransitionSet の子が、期間や補間のようなオーバーライド値を使用できます。(b/64644617
  • その他多くの軽微なバグを修正しました。