Transition
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
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-alpha01
と androidx.transition:transition-ktx:1.6.0-alpha01
がリリースされました。バージョン 1.6.0-alpha01 には、これらの commit が含まれています。
新機能
- 遷移で、遷移のアニメーション化に使用される
ViewOverlays
の分離親が設定されるようになりました。これにより、分離された親を介してオーナーを解決できるようになります。つまり、移行中にViewModels
やライフサイクルなどを正しく解決できるようになります。(I10a16、b/340894487、b/287484338)
バグの修正
- このライブラリは、型使用である JSpecify nullness アノテーションを使用するようになりました。Kotlin デベロッパーは、次のコンパイラ オプションを使用して、正しい使用を強制する必要があります。
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I1f54e、b/326456246) - 新しいプラットフォーム API へのアクセスの手動アウトラインを削除しました。これは、AGP 7.3 以降(R8 バージョン 3.3 など)で R8 を使用する場合、および AGP 8.1 以降(D8 バージョン 8.1 など)を使用するすべてのビルドで、API モデリングによって自動的に行われるためです。AGP を使用していないクライアントは、D8 バージョン 8.1 以降にアップデートすることをおすすめします。詳しくは、こちらの記事をご覧ください。(Ia60e0、b/345472586)
バージョン 1.5
バージョン 1.5.1
2024 年 7 月 24 日
androidx.transition:transition:1.5.1
と androidx.transition:transition-ktx:1.5.1
がリリースされました。バージョン 1.5.1 には、これらの commit が含まれています。
バグの修正
- シーケンシャルな遷移が開始されていない場合に、その遷移に対する
animateToStart()
またはanimateToEnd()
の呼び出しが無視される問題を修正しました。(I44d96、b/338624457)
バージョン 1.5.0
2024 年 5 月 1 日
androidx.transition:transition:1.5.0
と androidx.transition:transition-ktx:1.5.0
がリリースされました。バージョン 1.5.0 に含まれる commit は次のとおりです。
1.4.0 以降の重要な変更
- 遷移は、API 34 以降でシーク操作をサポートしています。
TransitionManager
に新しい APIcontrolDelayedTransition()
が追加されました。この 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-rc02
と androidx.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-rc01
と androidx.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-beta01
と androidx.transition:transition-ktx:1.5.0-beta01
がリリースされました。バージョン 1.5.0-beta01 には、これらの commit が含まれています。
バグの修正
- 予測型「戻る」ジェスチャーで受信側の遷移を中断すると、表示されるビューが破棄され、画面が空白になる可能性があるという Fragment の問題を修正しました。(Id3f22、b/319531491)
バージョン 1.5.0-alpha06
2024 年 1 月 10 日
androidx.transition:transition:1.5.0-alpha06
と androidx.transition:transition-ktx:1.5.0-alpha06
がリリースされました。バージョン 1.5.0-alpha06 に含まれる commit については、こちらをご覧ください。
バグの修正
TransitionSeekController.animateToStart()
が使用された場合、追加されたTransitionListeners
では、animateToStart()
の指定されたRunnable
の後にonTransitionEnd()
が呼び出されるようになります。(Ic6a55、b/307624554)
依存関係の更新
- Fragment の依存関係が
1.7.0-alpha08
に更新されました。
バージョン 1.5.0-alpha05
2023 年 11 月 29 日
androidx.transition:transition:1.5.0-alpha05
と androidx.transition:transition-ktx:1.5.0-alpha05
がリリースされました。バージョン 1.5.0-alpha05 に含まれる commit については、こちらをご覧ください。
バグの修正
- 共有要素の遷移を設定して
enter/exitTransition
も設定できなかった場合に発生するNullPointerException
を修正しました。(I8472b) Slide()
を含むanimateToStart()
でビューが開始位置に戻らない問題を修正しました(I698f4、b/300157785)- キャンセルを中断する Transition の再入問題を修正しました。(Iddcce、b/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-alpha03
と androidx.transition:transition-ktx:1.5.0-alpha03
がリリースされました。バージョン 1.5.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- Fragment
1.7.0-alpha05
で使用する場合、Transition が Android 14 デバイスでのアプリ内予測型「戻る」アニメーションをサポートするようになりました。
バグの修正
- スライド遷移の中断に関するバグを修正しました。スライド トランジションが開始中の遷移を中断してビューを削除すると、ビューが間違った位置にジャンプしていました。(I946f8、b/297427333)
バージョン 1.5.0-alpha02
2023 年 9 月 6 日
androidx.transition:transition:1.5.0-alpha02
と androidx.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()
の進行状況の変化を追跡し、animateToStart
とanimateToEnd
の初期速度に使用します。(aosp/2647607)
バグの修正
AutoTransition
をシークする際のフラッターを修正しました。(aosp/2643369)- 中断されたときに
Slide
遷移が間違った開始位置にジャンプする問題を修正しました。(aosp/2733729、b/297427333)
依存関係の更新
- 遷移が API 34 でコンパイルされるようになりました。
バージョン 1.5.0-alpha01
2023 年 5 月 10 日
androidx.transition:transition:1.5.0-alpha01
と androidx.transition:transition-ktx:1.5.0-alpha01
がリリースされました。このバージョンは内部ブランチで開発されています。
新機能
- 遷移は、API 34 以降でシーク操作をサポートしています。
TransitionManager
に新しい APIcontrolDelayedTransition()
が追加されました。この 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.1
と androidx.transition:transition-ktx:1.4.1
がリリースされました。バージョン 1.4.1 に含まれる commit については、こちらをご覧ください。
バグの修正
- あるコンテナで
Transition
を起動すると、別のコンテナで実行中の他の移行が一時停止して完了しなくなる問題を修正しました。(aosp/1664439、b/182845041)
バージョン 1.4.0
バージョン 1.4.0
2021 年 1 月 27 日
androidx.transition:transition:1.4.0
と androidx.transition:transition-ktx:1.4.0
がリリースされました。バージョン 1.4.0 に含まれるコミットについては、こちらをご覧ください。
1.3.0 以降の主な変更
transition-ktx
アーティファクトでは、AndroidXTransition
インスタンスにリスナーを追加するための Kotlin 拡張機能が導入されています(b/138870873)。
バージョン 1.4.0-rc01
2020 年 12 月 2 日
androidx.transition:transition:1.4.0-rc01
と androidx.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-beta01
と androidx.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-alpha01
と androidx.transition:transition-ktx:1.4.0-alpha01
がリリースされました。バージョン 1.4.0-alpha01 に含まれるコミットについては、こちらをご覧ください。
新機能
transition-ktx
アーティファクトでは、AndroidXTransition
インスタンスにリスナーを追加するための 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)
- その他多くの軽微なバグを修正しました。