切り替え効果

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

依存関係の宣言

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

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

Groovy

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

Kotlin

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

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

フィードバック

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

新しい問題を報告する

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

バージョン 1.5

バージョン 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 については、こちらをご覧ください

新機能

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

バグの修正

  • スライド遷移の割り込みバグを修正しました。スライド遷移によってビューを削除するための開始遷移が中断されると、誤った位置にジャンプしていました。(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 で、animateToStart()animateToEnd() を使用する際に addOnProgressChangedListener を呼び出して進行状況をモニタリングできるようになりました。(aosp/2647607
  • TransitionManager.seekTo() を追加しました。これにより、シーンを使用して遷移をシークできるようになりました。(aosp/2647607
  • 遷移のシークに物理学ベースのアニメーションを追加しました。1 次元速度トラッカーを使用して、setCurrentFraction() または setCurrentPlayTimeMillis() で進行状況の変化を追跡し、animateToStartanimateToEnd の初期速度に使用します。(aosp/2647607

バグの修正

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

依存関係の更新

  • Transition は 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 以降でのシークをサポートしています。TransitionManager に新しい API controlDelayedTransition() が追加されました。これは、遷移のシークを可能にする TransisionSeekController を返します。

API の変更

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

バグの修正

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

バージョン 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
  • その他多くの軽微なバグを修正しました。