Transition

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

依存関係の宣言

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.6

バージョン 1.6.0-alpha01

2024 年 12 月 11 日

androidx.transition:transition:1.6.0-alpha01androidx.transition:transition-ktx:1.6.0-alpha01 がリリースされました。バージョン 1.6.0-alpha01 には、これらの commit が含まれています。

新機能

  • 遷移で、遷移のアニメーション化に使用される ViewOverlays の分離親が設定されるようになりました。これにより、分離された親を介してオーナーを解決できるようになります。つまり、移行中に ViewModels やライフサイクルなどを正しく解決できるようになります。(I10a16b/340894487b/287484338

バグの修正

  • このライブラリは、型使用である JSpecify nullness アノテーションを使用するようになりました。Kotlin デベロッパーは、次のコンパイラ オプションを使用して、正しい使用を強制する必要があります。-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-modeI1f54eb/326456246
  • 新しいプラットフォーム API へのアクセスの手動アウトラインを削除しました。これは、AGP 7.3 以降(R8 バージョン 3.3 など)で R8 を使用する場合、および AGP 8.1 以降(D8 バージョン 8.1 など)を使用するすべてのビルドで、API モデリングによって自動的に行われるためです。AGP を使用していないクライアントは、D8 バージョン 8.1 以降にアップデートすることをおすすめします。詳しくは、こちらの記事をご覧ください。(Ia60e0b/345472586

バージョン 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() が追加されました。この API は、Transition のシークを可能にする TransitionSeekController を返します。この機能は、Fragment 1.7.0 で、予測型「戻る」ジェスチャーを使用した際に遷移を自動的にシークするために使用されます。
  • トランジションに新しいメソッド getRootTransition() が追加されました。このメソッドは、現在のトランジションを含むトランジションを返します。また、他のトランジションに含まれていない場合は、現在のトランジションを返します。これは、デベロッパーが Transition 全体の開始または終了のリスナーを必要とする場合に役立ちます。
  • TransitionListeners に新しい onTransitionStart() リスナーと 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 を受け取るようになりました。この 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
  • TransitionSeekControlleraddOnProgressChangedListener を呼び出して、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 以降でシーク操作をサポートしています。TransitionManager に新しい API controlDelayedTransition() が追加されました。この API は、遷移をシークできる TransisionSeekController を返します。

API の変更

  • TransitionManager に新しいメソッド controlDelayedTransition() が追加されました。これにより、API 34 以降でアプリが遷移アニメーションの進行状況を制御できるようになりました。返された TransitionSeekController により、遷移がシークできるタイミングとアニメーションの長さをデベロッパーが把握し、アニメーションの現在の時刻を設定できるようになります。controlDelayedTransition() でサポートされるのは、isSeekable() をオーバーライドして true を返す遷移のみです。
  • トランジションに新しいメソッド 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
  • その他多くの軽微なバグを修正しました。