Compose Animation
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(すべての Compose パッケージについては、API リファレンス ドキュメントをご覧ください)
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2024 年 12 月 11 日 | 1.7.6 | - | - | 1.8.0-alpha07 |
構造
Compose は、androidx
内の 7 つの Maven グループ ID を組み合わせたものです。各グループにはそれぞれの目的に応じて Compose の機能のサブセットが含まれており、それぞれに固有のリリースノートがあります。
次の表に、各グループの説明と、それぞれのリリースノートのリンクを示します。
グループ | 説明 |
---|---|
compose.animation | Jetpack Compose アプリ内でアニメーションを作成して、ユーザー エクスペリエンスを高めます。 |
compose.compiler | @Composable 関数を変換し、Kotlin コンパイラ プラグインで最適化を有効にします。 |
compose.foundation | すぐに使用できるビルディング ブロックで Jetpack Compose アプリを作成し、基盤を拡張して独自のデザイン システム要素を構築します。 |
compose.material | すぐに使用できるマテリアル デザイン コンポーネントで Jetpack Compose UI を構築します。Compose の上位レベルのエントリ ポイントであり、www.material.io のガイドラインと適合するコンポーネントを提供するように設計されています。 |
compose.material3 | マテリアル デザインの進化版であるマテリアル デザイン 3 コンポーネントで Jetpack Compose UI を構築します。マテリアル 3 には、最新のテーマ設定とコンポーネント、ダイナミック カラーなどの Material You のパーソナライズ機能が含まれており、Android 12 の新しい視覚的スタイルとシステム UI と調和するように設計されています。 |
compose.runtime | Compose のプログラミング モデルと状態管理の基本ビルディング ブロックと、Compose コンパイラ プラグインがターゲットとするコアランタイム。 |
compose.ui | レイアウト、描画、入力などのデバイス操作に必要な Compose UI の基本コンポーネント。 |
依存関係の宣言
Compose への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.7.5" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.7.5") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
バージョン 1.8
バージョン 1.8.0-alpha07
2024 年 12 月 11 日
androidx.compose.animation:animation-*:1.8.0-alpha07
がリリースされました。バージョン 1.8.0-alpha07 に含まれる commit はこちらをご覧ください。
新機能
- アイテムを保持し、スクロールを消費するアプローチ パスと、ルックアヘッド パスを区別することで、Pager でルックアヘッドをサポートします。(b/371802474)
バグの修正
- 共有要素が合成されても測定/配置されないというまれなクラッシュを修正しました。共有要素をオーバーレイでレンダリングする前に、少なくとも 1 回その場でレンダリングするようにしました。(b/371802474)
バージョン 1.8.0-alpha06
2024 年 11 月 13 日
androidx.compose.animation:animation-*:1.8.0-alpha06
がリリースされました。バージョン 1.8.0-alpha06 には、これらの commit が含まれています。
API の変更
- 共有要素 API 全体で一貫性を持たせるために、
sharedElement
パラメータの命名をstate
からsharedContentState
に更新しました。(I5694c、b/375351468) AnimatedImageVector
スイートの API が安定版になりました。(I7174b、b/261436267)
バージョン 1.8.0-alpha05
2024 年 10 月 30 日
androidx.compose.animation:animation-*:1.8.0-alpha05
がリリースされました。バージョン 1.8.0-alpha05 には、これらの commit が含まれています。
新機能
LazyGrid
でルックアップがサポートされるようになりました。これには、スクロール、アイテムの合成/破棄、アイテムのアニメーションで先読みパスとアプローチ パスを区別し、スクロールの信頼できる情報源とアイテムのアニメーション ターゲットに先読みパスを使用することが含まれます。
バグの修正
- 遷移が再作成されたときに、
AnimatedContent
のサイズ変換の内部状態を更新。これにより、ターゲット サイズの情報が常に最新の状態になります。(b/372512085)
バージョン 1.8.0-alpha04
2024 年 10 月 16 日
androidx.compose.animation:animation-*:1.8.0-alpha04
がリリースされました。バージョン 1.8.0-alpha04 に含まれる commit はこちらをご覧ください。
バグの修正
- 特定のタイム フラクションで一部のイージング カーブがクラッシュするバグを修正しました。
- RTL で
Modifier.animateContentSize
が正しく配置されないバグを修正しました。(Idae6b、b/372055503)
バージョン 1.8.0-alpha03
2024 年 10 月 2 日
androidx.compose.animation:animation-*:1.8.0-alpha03
がリリースされました。バージョン 1.8.0-alpha03 には、これらの commit が含まれています。
API の変更
- Kotlin バージョンを 1.9 に更新(I1a14c)
バグの修正
AnimatedContent
サイズのアニメーションの問題を修正しました。アニメーションを常に現在のサイズから追跡して開始し、連続性を確保しました。
バージョン 1.8.0-alpha02
2024 年 9 月 18 日
androidx.compose.animation:animation-*:1.8.0-alpha02
がリリースされました。バージョン 1.8.0-alpha02 には、これらの commit が含まれています。
バージョン 1.8.0-alpha01
2024 年 9 月 4 日
androidx.compose.animation:animation-*:1.8.0-alpha01
がリリースされました。バージョン 1.8.0-alpha01 には、これらの commit が含まれています。
新機能
- ルックアヘッド スコープ内のサイズと位置の変更をアニメーション化する新しい
Modifier.animateBounds
API。94b9394
API の変更
- 円弧とスプラインを含むキーフレームの試験運用版フラグを削除(89e1199)
バグの修正
- 一致が見つからない場合に
placeHolderSize
ロジックをスキップ(77c0160) AndroidFlingSpline
で再生時間をクランプし、再生時間が単調に増加しないために発生するクラッシュを防ぎました(9d47587)- 特定の状況で
SharedTransitionScope
がアイテムを描画しない問題を修正しました。(b41077b6)
外部からの協力
- スティーブン ショーエン氏による、遷移が実行されていないときにシーク可能な遷移
playTime
が設定されないようにしました。(c2e6e7e6)
バージョン 1.7
バージョン 1.7.6
2024 年 12 月 11 日
androidx.compose.animation:animation-*:1.7.6
がリリースされました。バージョン 1.7.6 には、これらの commit が含まれています。
バージョン 1.7.5
2024 年 10 月 30 日
androidx.compose.animation:animation-*:1.7.5
がリリースされました。バージョン 1.7.5 には、これらの commit が含まれています。
バグの修正
- RTL で
Modifier.animateContentSize
が正しく配置されないバグを修正しました。(Idae6b、b/372055503)
バージョン 1.7.4
2024 年 10 月 16 日
androidx.compose.animation:animation-*:1.7.4
がリリースされました。バージョン 1.7.4 には、これらの commit が含まれています。
バージョン 1.7.3
2024 年 10 月 2 日
androidx.compose.animation:animation-*:1.7.3
がリリースされました。バージョン 1.7.3 には、これらの commit が含まれています。
バージョン 1.7.2
2024 年 9 月 18 日
androidx.compose.animation:animation-*:1.7.2
がリリースされました。バージョン 1.7.2 には、これらの commit が含まれています。
外部からの協力
- 遷移が実行されていないときに、シーク可能な遷移
playTime
を設定できないようにしました。Steven Schoen 様、(c2e6e7e6)
バージョン 1.7.1
2024 年 9 月 10 日
- Android アーティファクトに変更はありません。
-desktop
アーティファクトが削除され、-jvmStubs
アーティファクトと-linuxx64Stubs
アーティファクトが追加されました。これらのターゲットはいずれも使用されることを想定しておらず、Jetbrains Compose の取り組みを支援するためのプレースホルダです。
バージョン 1.7.0
2024 年 9 月 4 日
androidx.compose.animation:animation-*:1.7.0
がリリースされました。
1.6.0 以降の重要な変更
バージョン 1.7.0 の重要な変更については、こちらのブログ投稿をご覧ください。
新しい Shared Element Transition API
- 新しい共有要素の遷移 API をぜひお試しいただき、フィードバックをお寄せください。これらの新しい試験運用版 API を使用すると、提供された修飾子を使用して、レイアウトをレイアウト ツリー全体で共有としてタグ付けできます。これにより、共有コンテンツの 1 つのセットが終了し、別のセットが開始するときに境界がスムーズに変化します。(Icb0b9)
sharedBounds
のコンテンツをスケーリングする新しいscaleInSharedContentToBounds
とscaleOutSharedContentToBounds
を追加しました。(I731c1)- 試験運用版の
SharedTransitionScope
がクラスではなくインターフェースになりました。(Iaf856) sharedBounds
の新しいresizeModes
(ScaleToBounds
とRemeasureToBounds
): スケーリングと再測定のどちらかを選択できます。以前のscaleIn/OutSharedContentToBounds
API は非推奨になりました。(I0d41a)
既存の API の改善:
- カスタム コンテンツの配置に関する追加パラメータを受け取る新しい
Modifier.animateContentSize
。(I5623a、b/269803907) - サイズ、位置、またはインスタンス化時に不明なその他のターゲットをアニメーション化するための新しい試験運用版
DeferredTargetAnimation
。(I60745) SeekableTransitionState
はsnapTo()
をseekTo()
に置き換え、アニメーションなしで状態をすぐに目的の状態に変更するsnapTo()
を追加します。- これで、
periodicBias
値(浮動小数点数)をkeyframesWithSpline
に渡すことができます。これにより、スプラインの初速度と終速度が同じになります。スプラインを使用した反復可能なアニメーションに便利です。バイアスは、周期性を実現するために各速度(初期速度と最終速度)がどの程度変更されるかを示します。(Ic1e6c、b/292114811)
次の API は安定版になりましたまたは削除されました。
AnimatedVisibilityScope.transition
が安定版 API になりました。Modifier.animateEnterExit(..)
も安定版になりました。(I6c1d1)ApproachLayoutModifierNode
とModifier.approachLayout
が安定版になりました。新しいisMeasurementApproachInProgress()
とisPlacementApproachInProgress()
がそれぞれ古いisMeasurementApproachComplete()
とisPlacementApproachComplete()
に置き換えられました。- サポートが終了した
intermediateLayout
修飾子を削除しました。(I3e91c) LookaheadScope
API が安定版になりました。(I21507)
バージョン 1.7.0-rc01
2024 年 8 月 21 日
androidx.compose.animation:animation-*:1.7.0-rc01
がリリースされました。バージョン 1.7.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.7.0-beta07
2024 年 8 月 7 日
androidx.compose.animation:animation-*:1.7.0-beta07
がリリースされました。バージョン 1.7.0-beta07 に含まれる commit はこちらをご覧ください。
バグの修正
- 特定の条件下で、
SharedTransitionScope
が遷移中にオーバーレイ アイテムを描画しない問題を修正しました。通常、Navigation での使用時に発生します。(Id65ab、b/347520198)
バージョン 1.7.0-beta06
2024 年 7 月 24 日
androidx.compose.animation:animation-*:1.7.0-beta06
がリリースされました。バージョン 1.7.0-beta06 に含まれる commit はこちらをご覧ください。
バグの修正
- 遷移が破棄されたときに
SnapshotStateObserver
からオブザーバを適切にクリーンアップすることで、SeekableTransition
の遷移状態のリークを修正しました。(b9c7182) - 親が完了したときに子遷移が正しく完了とマークされないエッジケースを修正しました。(dc42216)
バージョン 1.7.0-beta05
2024 年 7 月 10 日
androidx.compose.animation:animation-*:1.7.0-beta05
がリリースされました。バージョン 1.7.0-beta05 に含まれる commit はこちらをご覧ください。
バグの修正
- 遷移プロパティ
totalDurationNanos
をsnapshotFlow
内で適切に読み取ることができるようになりました。
バージョン 1.7.0-beta04
2024 年 6 月 26 日
androidx.compose.animation:animation-*:1.7.0-beta04
がリリースされました。バージョン 1.7.0-beta04 に含まれる commit はこちらをご覧ください。
バージョン 1.7.0-beta03
2024 年 6 月 12 日
androidx.compose.animation:animation-*:1.7.0-beta03
がリリースされました。バージョン 1.7.0-beta03 に含まれる commit はこちらをご覧ください。
バージョン 1.7.0-beta02
2024 年 5 月 29 日
androidx.compose.animation:animation-*:1.7.0-beta02
がリリースされました。バージョン 1.7.0-beta02 に含まれる commit はこちらをご覧ください。
バージョン 1.7.0-beta01
2024 年 5 月 14 日
androidx.compose.animation:animation-*:1.7.0-beta01
がリリースされました。バージョン 1.7.0-beta01 には、これらの commit が含まれています。
API の変更
sharedBounds
の新しいresizeModes
(ScaleToBounds
とRemeasureToBounds
): スケーリングと再測定のどちらかを選択できます。以前のscaleIn/OutSharedContentToBounds
API は非推奨になりました。(I0d41a)
外部からの協力
- 試験運用版の
SharedTransitionScope
が、Steven Schoen によってクラスではなくインターフェースになりました。(Iaf856、b/338415048、b/338414702)
バージョン 1.7.0-alpha08
2024 年 5 月 1 日
androidx.compose.animation:animation-*:1.7.0-alpha08
がリリースされました。バージョン 1.7.0-alpha08 には、これらの commit が含まれています。
API の変更
LookaheadScope
API が安定版になりました。(I21507)
外部からの協力
SeekableTransitionState
のアニメーション/スナップ後に開始アニメーション時間を消去(Steven Schoen)(1ca89529)
バージョン 1.7.0-alpha07
2024 年 4 月 17 日
androidx.compose.animation:animation-*:1.7.0-alpha07
がリリースされました。バージョン 1.7.0-alpha07 に含まれる commit はこちらをご覧ください。
新機能
- 新しい共有要素の遷移 API をぜひお試しください。フィードバックもお待ちしております。これらの新しい試験運用版 API を使用すると、提供された修飾子を使用して、レイアウトをレイアウト ツリー全体で共有としてタグ付けできます。これにより、共有コンテンツの 1 つのセットが終了し、別のセットが開始するときに境界がスムーズに変化します。(Icb0b9)
sharedBounds
のコンテンツをスケーリングする新しいscaleInSharedContentToBounds
とscaleOutSharedContentToBounds
を追加しました。(I731c1)
API の変更
AnimatedVisibilityScope.transition
が安定版 API になりました。Modifier.animateEnterExit(..)
も安定版になりました。(I6c1d1)ApproachLayoutModifierNode
とModifier.approachLayout
が安定版になりました。新しいisMeasurementApproachInProgress()
とisPlacementApproachInProgress()
がそれぞれ古いisMeasurementApproachComplete()
とisPlacementApproachComplete()
に置き換えられました。- サポートが終了した
intermediateLayout
修飾子を削除しました。(I3e91c) - これで、
periodicBias
値(浮動小数点数)をkeyframesWithSpline
に渡すことができます。これにより、スプラインの初速度と終速度が同じになります。スプラインを使用した反復可能なアニメーションに便利です。バイアスは、周期性を実現するために各速度(初期速度と最終速度)がどの程度変更されるかを示します。(Ic1e6c、b/292114811)
バグの修正
- 過剰な減衰と過小な減衰のイージン曲線を修正しました。以前は 0..1 にクランプされていました(I38747)
バージョン 1.7.0-alpha06
2024 年 4 月 3 日
androidx.compose.animation:animation-*:1.7.0-alpha06
がリリースされました。バージョン 1.7.0-alpha06 に含まれる commit はこちらをご覧ください。
新機能
- アイテムの表示と非表示のアニメーションのサポートを
LazyColumn
とLazyRow
に追加しました。以前は、プレースメント(並べ替え)アニメーションをサポートするためにModifier.animateItemPlacement()
修飾子を追加できました。この修飾子は非推奨となり、Modifier.animateItem()
という新しい非試験運用版の修飾子が導入されました。これにより、表示(フェードイン)、非表示(フェードアウト)、並べ替えの 3 種類のアニメーションをすべてサポートできるようになりました。(I2d7f7、b/330152398、b/150812265)
バグの修正
updateTransition
API のパフォーマンスが改善されました。
バージョン 1.7.0-alpha05
2024 年 3 月 20 日
androidx.compose.animation:animation-*:1.7.0-alpha05
がリリースされました。バージョン 1.7.0-alpha05 に含まれる commit はこちらをご覧ください。
API の変更
SeekableTransitionState
はsnapTo()
をseekTo()
に置き換え、アニメーションなしで状態をすぐに目的の状態に変更するsnapTo()
を追加します。
バージョン 1.7.0-alpha04
2024 年 3 月 6 日
androidx.compose.animation:animation-*:1.7.0-alpha04
がリリースされました。バージョン 1.7.0-alpha04 に含まれる commit はこちらをご覧ください。
API の変更
- パスの向きを反転する新しい API
Path.reverse()
(I36348)
バージョン 1.7.0-alpha03
2024 年 2 月 21 日
androidx.compose.animation:animation-*:1.7.0-alpha03
がリリースされました。バージョン 1.7.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- カスタム コンテンツの配置に関する追加パラメータを受け取る新しい
Modifier.animateContentSize
。(I5623a、b/269803907) - サイズ、位置、またはインスタンス化時に不明なその他のターゲットをアニメーション化するための新しい試験運用版
DeferredTargetAnimation
。(I60745)
バージョン 1.7.0-alpha02
2024 年 2 月 7 日
androidx.compose.animation:animation-*:1.7.0-alpha02
がリリースされました。バージョン 1.7.0-alpha02 に含まれる commit については、こちらをご覧ください。
バグの修正
KeyframesSpec
の互換性に関する修正。(I2bdf3、b/322214617)LazyList
で使用したときにModifier.animateContentSize
が正しくリセットされない問題を修正しました。(I070512、b/322525716)- 範囲外のタイムスタンプを使用している場合の
KeyframesSpec
のIllegalStateException
を修正しました。(I341b8、b/322839811)
バージョン 1.7.0-alpha01
2024 年 1 月 24 日
androidx.compose.animation:animation-*:1.7.0-alpha01
がリリースされました。バージョン 1.7.0-alpha01 に含まれる commit については、こちらをご覧ください。
バージョン 1.6
バージョン 1.6.8
2024 年 6 月 12 日
androidx.compose.animation:animation-*:1.6.8
がリリースされました。バージョン 1.6.8 には、これらの commit が含まれています。
バージョン 1.6.7
2024 年 5 月 1 日
androidx.compose.animation:animation-*:1.6.7
がリリースされました。バージョン 1.6.7 には、これらの commit が含まれています。
バージョン 1.6.6
2024 年 4 月 17 日
androidx.compose.animation:animation-*:1.6.6
がリリースされました。前回のリリースからの変更はありません
バージョン 1.6.5
2024 年 4 月 3 日
androidx.compose.animation:animation-*:1.6.5
がリリースされました。バージョン 1.6.5 には、これらの commit が含まれています。
バージョン 1.6.4
2024 年 3 月 20 日
androidx.compose.animation:animation-*:1.6.4
がリリースされました。バージョン 1.6.4 には、これらの commit が含まれています。
バージョン 1.6.3
2024 年 3 月 6 日
androidx.compose.animation:animation-*:1.6.3
がリリースされました。バージョン 1.6.3 には、これらの commit が含まれています。
バージョン 1.6.2
2024 年 2 月 21 日
androidx.compose.animation:animation-*:1.6.2
がリリースされました。バージョン 1.6.2 に含まれる commit については、こちらをご覧ください。
バージョン 1.6.1
2024 年 2 月 7 日
androidx.compose.animation:animation-*:1.6.1
がリリースされました。バージョン 1.6.1 に含まれる commit については、こちらをご覧ください。
バグの修正
KeyframesSpec
の互換性に関する修正。(I2bdf3、b/322214617)
バージョン 1.6.0
2024 年 1 月 24 日
androidx.compose.animation:animation-*:1.6.0
がリリースされました。バージョン 1.6.0 に含まれる commit については、こちらをご覧ください。
バージョン 1.6.0-rc01
2024 年 1 月 10 日
androidx.compose.animation:animation-*:1.6.0-rc01
がリリースされました。バージョン 1.6.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.6.0-beta03
2023 年 12 月 13 日
androidx.compose.animation:animation-*:1.6.0-beta03
がリリースされました。バージョン 1.6.0-beta03 に含まれる commit については、こちらをご覧ください。
API の変更
- 先読みが必要なため、
AnimatedContentTransitionScope
からscaleInToFitContainer
とscaleOutToFitContainer
を一時的に削除しました。これらの機能は、今後のリリースで、先読みがデフォルトでオンになっているか、有効にした場合にお使いいただけるようになります。
バージョン 1.6.0-beta02
2023 年 11 月 29 日
androidx.compose.animation:animation-*:1.6.0-beta02
がリリースされました。バージョン 1.6.0-beta02 に含まれる commit については、こちらをご覧ください。
バージョン 1.6.0-beta01
2023 年 11 月 15 日
androidx.compose.animation:animation-*:1.6.0-beta01
がリリースされました。バージョン 1.6.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
- 明確にするために、
ExitTransition.Hold
の名前がExitTransition.KeepUntilTransitionsFinished
に変更されました。(I1c490) keyframesWithSpline
を使用して、単調なスプラインを使用して任意の N 次元値を補間できるようになりました。Offset
、IntOffset
、DpOffset
などの位置値を補間する場合に特に便利です。試験運用版 API として追加しました。
バグの修正
ArcLine
でスイープ グラデーションのレンダラ サポートを追加。(I4d5bb)PageSize.Fixed
の equals とハッシュコードを実装します。(Ie3ede、b/300134276)- ウィンドウの枠線の変更によるバイナリ互換性の問題を修正。(Iee695)
- マイクロベンチマークで、マテリアル コアレイヤがないとパフォーマンスが向上することが示されたため、マテリアル 3 チップ/ボタンのマテリアル コアレイヤを削除しました。(I55555)
バージョン 1.6.0-alpha08
2023 年 10 月 18 日
androidx.compose.animation:animation-*:1.6.0-alpha08
がリリースされました。バージョン 1.6.0-alpha08 に含まれる commit については、こちらをご覧ください。
API の変更
KeyframesSpecConfig#with
を非推奨とし、ビルダー パターンを維持するKeyframesSpecConfig#using
に置き換えました。(I1d769)
バージョン 1.6.0-alpha07
2023 年 10 月 4 日
androidx.compose.animation:animation-*:1.6.0-alpha07
がリリースされました。バージョン 1.6.0-alpha07 に含まれる commit については、こちらをご覧ください。
API の変更
- 固定タブ行とスクロール可能なタブ行に、プライマリ バリアントとセカンダリ バリアントが追加されました。これらは、Material3 で定義されている色とインジケーターの動作に正しくマッピングされます。
PrimaryScrollableTabRow
とSecondaryScrollableTabRow
でスクロール状態が公開されるようになりました。(Iec8f5、b/260572337)
バージョン 1.6.0-alpha06
2023 年 9 月 20 日
androidx.compose.animation:animation-*:1.6.0-alpha06
がリリースされました。バージョン 1.6.0-alpha06 に含まれる commit については、こちらをご覧ください。
バージョン 1.6.0-alpha05
2023 年 9 月 6 日
androidx.compose.animation:animation-*:1.6.0-alpha05
がリリースされました。バージョン 1.6.0-alpha05 に含まれる commit については、こちらをご覧ください。
API の変更
- 任意のパスを指定してイージング カーブに適用できるように
PathEasing
を追加しました。(Idb4b9)
バージョン 1.6.0-alpha04
2023 年 8 月 23 日
androidx.compose.animation:animation-*:1.6.0-alpha04
がリリースされました。バージョン 1.6.0-alpha04 に含まれる commit については、こちらをご覧ください。
API の変更
SeekableTransitionState
を追加して、デベロッパーが遷移の進行状況を制御できるようにしました。(I8e69d)
バージョン 1.6.0-alpha03
2023 年 8 月 9 日
androidx.compose.animation:animation-*:1.6.0-alpha03
がリリースされました。バージョン 1.6.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
- 新しいタイプの開始/終了遷移。開始アニメーションと終了アニメーション中にアニメーション化されたコンテナのサイズに基づいてコンテンツのサイズを調整します。
LookaheadScope
コンポーズ可能な関数とインターフェースが安定版になりました。(Ifb2ce)
バージョン 1.6.0-alpha02
2023 年 7 月 26 日
androidx.compose.animation:animation-*:1.6.0-alpha02
がリリースされました。バージョン 1.6.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
- 開始と終了の両方の遷移が完了するまで、
AnimatedContent
に送信側のコンテンツを表示する新しいExitTransition.Hold
。(I5984f) - コンポーザブルに許可される入力を指定する追加のアノテーション(I51109)
バージョン 1.6.0-alpha01
2023 年 6 月 21 日
androidx.compose.animation:animation-*:1.6.0-alpha01
がリリースされました。バージョン 1.6.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- ルックアヘッド パスでターゲット サイズを報告することで、
Modifier.animateContentSize
とAnimatedVisibility
をルックアヘッド システムに完全に統合できるようにしました。
API の変更
IntrinsincMeasureScope
とその実装(MeasureScope
など)に新しいプロパティを追加し、現在の測定パスが先読みパスかどうかを示す。(I7a812)
バグの修正
- スプリング アニメーションから割り当てを削除しました。(Ie9431)
- Enum.valueOf の value パラメータ名を変更しました。(Ia9b89)
- 列挙型 valueOf から例外が多くスローされるようになりました。(I818fe)
バージョン 1.5
バージョン 1.5.4
2023 年 10 月 18 日
androidx.compose.animation:animation-*:1.5.4
がリリースされました。バージョン 1.5.4 に含まれる commit については、こちらをご覧ください。
バージョン 1.5.3
2023 年 10 月 4 日
androidx.compose.animation:animation-*:1.5.3
がリリースされました。このバージョンに変更はありません
バージョン 1.5.2
2023 年 9 月 27 日
androidx.compose.animation:animation-*:1.5.2
がリリースされました。バージョン 1.5.2 に含まれる commit については、こちらをご覧ください。
バージョン 1.5.1
2023 年 9 月 6 日
androidx.compose.foundation:foundation-*:1.5.1
がリリースされました。バージョン 1.5.1 に含まれる commit については、こちらをご覧ください。
バグの修正
readOnly
が true の場合にテキスト フィールドがキーボードを表示し、編集可能になる問題を修正しました。また、フォーカスされているときにreadOnly
が true から false に変更されたときにキーボードが表示されない問題も修正しました。(I34a19、b/246909589)
バージョン 1.5.1
2023 年 9 月 6 日
androidx.compose.animation:animation-*:1.5.1
がリリースされました。バージョン 1.5.1 に含まれる commit については、こちらをご覧ください。
バージョン 1.5.0
2023 年 8 月 9 日
androidx.compose.animation:animation-*:1.5.0
がリリースされました。バージョン 1.5.0 に含まれる commit については、こちらをご覧ください。
バージョン 1.5.0-rc01
2023 年 7 月 26 日
androidx.compose.animation:animation-*:1.5.0-rc01
がリリースされました。バージョン 1.5.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
プリミティブ状態型(
MutableIntState
など)で.value
を呼び出すと、無効な修正を含む lint 警告が報告される問題を修正しました。検査では、正しいプロパティへの移行が推奨されます。(Iba953、b/287279257)mutableStateOf()
呼び出しをプリミティブに対応する専用型に移行することを推奨するオプションの検査を利用できます。lint ID はAutoboxingStateCreation
です。以前は、この検査はすべてのプロジェクトでデフォルトで有効になっていましたが、Android Studio のエディタとプロジェクトの lint 出力にこの警告を表示するには、モジュールのbuild.gradle
またはbuild.gradle.kts
構成内でwarning "AutoboxingStateCreation"
を宣言して、重大度を情報から警告(またはそれ以上)に変更します(I34f7e)。android { lint { warning "AutoboxingStateCreation" } ... }
バージョン 1.5.0-beta03
2023 年 6 月 28 日
androidx.compose.animation:animation-*:1.5.0-beta03
がリリースされました。バージョン 1.5.0-beta03 に含まれる commit については、こちらをご覧ください。
バージョン 1.5.0-beta02
2023 年 6 月 7 日
androidx.compose.animation:animation-*:1.5.0-beta02
がリリースされました。バージョン 1.5.0-beta02 に含まれる commit については、こちらをご覧ください。
バージョン 1.5.0-beta01
2023 年 5 月 24 日
androidx.compose.animation:animation-*:1.5.0-beta01
がリリースされました。バージョン 1.5.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
- 再コンポーズ、色アニメーション、
AndroidComposeView
の割り当てを削除しました。(Ib2bfa)
バグの修正
- スプリング アニメーションから割り当てを削除しました。(Ie9431)
バージョン 1.5.0-alpha04
2023 年 5 月 10 日
androidx.compose.animation:animation-*:1.5.0-alpha04
がリリースされました。バージョン 1.5.0-alpha04 に含まれる commit については、こちらをご覧ください。
API の変更
ContentKey
がAnimatedContent
でサポートされるようになりました。これにより、遷移が発生するタイミングをより細かく制御できるようになりました。(Ic069b)
バージョン 1.5.0-alpha03
2023 年 4 月 19 日
androidx.compose.animation:animation-*:1.5.0-alpha03
がリリースされました。バージョン 1.5.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
LookaheadScope
のSubcomposeLayout
のデフォルトの動作を変更。これにより、条件スロットのないSubcomposeLayouts
(TabRow
、Scaffold
、BoxWithConstraints
など)が、先読みアニメーションと適切に連携できるようになります。
API の変更
- 先読みパスのメジャー ポリシーを再利用する新しいデフォルトの
intermediateMeasurePolicy
により、Scaffold
、TabRow
、BoxWithConstraints
などの条件付きスロットのないSubcomposeLayout
サブタイプが、デフォルトで先読みで動作できるようになりました。(Id84c8) - 開始と終了の遷移を組み合わせるために、インフィックス関数 with の名前を
togetherWith
に変更しました。コンテンツ ラムダのレシーバとして新しいAnimatedContentScope
。(Ic39ae)
バージョン 1.5.0-alpha02
2023 年 4 月 5 日
androidx.compose.animation:animation-*:1.5.0-alpha02
がリリースされました。バージョン 1.5.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
SubcomposeLayout
での先読みをサポートする新しい試験運用版 API。これにより、SubcomposeLayout
はLookaheadScope
内で正常に機能するようになります。SubcomposeLayout
の特定のサブタイプに対する、より多くのすぐに使えるサポートがまもなく提供される予定です。
API の変更
- ルックアヘッド ベースのアニメーション中に測定/レイアウト ロジックを処理するために、追加の中間測定ポリシーを受け取る新しい
SubcomposeLayout
API。(I017d3)
バージョン 1.5.0-alpha01
2023 年 3 月 22 日
androidx.compose.animation:animation-*:1.5.0-alpha01
がリリースされました。バージョン 1.5.0-alpha01 に含まれる commit については、こちらをご覧ください。
API の変更
AnimatedContent
API が安定版になりました。AnimatedContentScope
はAnimatedContentTransitionScope
に名前が変更されました。scaleIn
とscaleOut
が安定版 API になりました。(Iaf54e)
バージョン 1.4
バージョン 1.4.3
2023 年 5 月 3 日
androidx.compose.animation:animation:1.4.3
、androidx.compose.animation:animation-core:1.4.3
、androidx.compose.animation:animation-graphics:1.4.3
がリリースされました。変更はありません(バージョンのみが更新されています)。
バージョン 1.4.2
2023 年 4 月 19 日
androidx.compose.animation:animation:1.4.2
、androidx.compose.animation:animation-core:1.4.2
、androidx.compose.animation:animation-graphics:1.4.2
がリリースされました。変更はありません。バージョン 1.4.2 に含まれる commit については、こちらをご覧ください。
バージョン 1.4.1
2023 年 4 月 5 日
androidx.compose.animation:animation:1.4.1
、androidx.compose.animation:animation-core:1.4.1
、androidx.compose.animation:animation-graphics:1.4.1
がリリースされました。変更はありません。バージョン 1.4.1 に含まれる commit については、こちらをご覧ください。
バージョン 1.4.0
2023 年 3 月 22 日
androidx.compose.animation:animation:1.4.0
、androidx.compose.animation:animation-core:1.4.0
、androidx.compose.animation:animation-graphics:1.4.0
がリリースされました。バージョン 1.4.0 に含まれる commit については、こちらをご覧ください。
1.3.0 以降の重要な変更
- r
ememberInfiniteTransition
と、InfiniteTransition
および Transition のすべての拡張関数(InfiniteTransition#animateColor
など)で、ツールラベルがサポートされるようになりました。(I56ef7)
バージョン 1.4.0-rc01
2023 年 3 月 8 日
androidx.compose.animation:animation:1.4.0-rc01
、androidx.compose.animation:animation-core:1.4.0-rc01
、androidx.compose.animation:animation-graphics:1.4.0-rc01
がリリースされました。変更はありません。バージョン 1.4.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.4.0-beta02
2023 年 2 月 22 日
androidx.compose.animation:animation:1.4.0-beta02
、androidx.compose.animation:animation-core:1.4.0-beta02
、androidx.compose.animation:animation-graphics:1.4.0-beta02
がリリースされました。変更はありません。バージョン 1.4.0-beta02 に含まれる commit については、こちらをご覧ください。
バージョン 1.4.0-beta01
2023 年 2 月 8 日
androidx.compose.animation:animation:1.4.0-beta01
、androidx.compose.animation:animation-core:1.4.0-beta01
、androidx.compose.animation:animation-graphics:1.4.0-beta01
がリリースされました。変更はありません。バージョン 1.4.0-beta01 に含まれる commit については、こちらをご覧ください。
バージョン 1.4.0-alpha05
2023 年 1 月 25 日
androidx.compose.animation:animation:1.4.0-alpha05
、androidx.compose.animation:animation-core:1.4.0-alpha05
、androidx.compose.animation:animation-graphics:1.4.0-alpha05
がリリースされました。バージョン 1.4.0-alpha05 に含まれる commit については、こちらをご覧ください。
変更
- アニメーション ライブラリについては、最後のアルファ版から変更はありません。バージョン アップのみです。
バージョン 1.4.0-alpha04
2023 年 1 月 11 日
androidx.compose.animation:animation:1.4.0-alpha04
、androidx.compose.animation:animation-core:1.4.0-alpha04
、androidx.compose.animation:animation-graphics:1.4.0-alpha04
がリリースされました。バージョン 1.4.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
rememberInfiniteTransition
と、InfiniteTransition
およびTransition
のすべての拡張関数(InfiniteTransition#animateColor
など)で、ツールラベルがサポートされるようになりました。(I56ef7)
API の変更
InfiniteTransition#TransitionAnimationState
API とInfiniteTransition#animations
API が公開されました。(I36682)
バージョン 1.4.0-alpha03
2022 年 12 月 7 日
androidx.compose.animation:animation:1.4.0-alpha03
、androidx.compose.animation:animation-core:1.4.0-alpha03
、androidx.compose.animation:animation-graphics:1.4.0-alpha03
がリリースされました。バージョン 1.4.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
- Compose ルールを使用した UI テストでは、
withFrameNanos
コールバック中に再開された継続は、すべてのフレーム コールバックの実行が終了するまでディスパッチされません。これは、正常に実行されている Compose の動作と一致します。ただし、以前の動作に依存するテストは失敗する可能性があります。これは、withFrameNanos
またはwithFrameMillis
を直接呼び出して、コールバック内への移動が必要になる可能性のあるそうした関数に渡される、コールバック外のロジックを持つコードにのみ影響があります。アニメーションのテストの変更については、こちらの CL の例をご覧ください。 TestMonotonicFrameClock
コンストラクタとファクトリ関数に、withFrameNanos
コールバックの後、呼び出し元のコルーチンを再開する前にコードを実行するための、オプションのonPerformTraversals: (Long) -> Unit
パラメータを追加しました。(Idb413、b/254115946、b/222093277、b/255802670)AnimatedContent
のツールラベル用の新しいパラメータ。(Iebe2d)
バージョン 1.4.0-alpha02
2022 年 11 月 9 日
androidx.compose.animation:animation:1.4.0-alpha02
、androidx.compose.animation:animation-core:1.4.0-alpha02
、androidx.compose.animation:animation-graphics:1.4.0-alpha02
がリリースされました。バージョン 1.4.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
- コンポーザブルの内部状態を変更するツールを利用できるよう
ToolingState
を追加しました。(Ie6614)
バージョン 1.4.0-alpha01
2022 年 10 月 24 日
androidx.compose.animation:animation:1.4.0-alpha01
、androidx.compose.animation:animation-core:1.4.0-alpha01
、androidx.compose.animation:animation-graphics:1.4.0-alpha01
がリリースされました。バージョン 1.4.0-alpha01 に含まれる commit については、こちらをご覧ください。
バグの修正
- AnimatedContent でアニメーションが中断される不具合を修正しました(b/238662479)
バージョン 1.3
バージョン 1.3.3
2023 年 1 月 11 日
androidx.compose.animation:animation:1.3.3
、androidx.compose.animation:animation-core:1.3.3
、androidx.compose.animation:animation-graphics:1.3.3
がリリースされました。バージョン 1.3.3 に含まれる commit については、こちらをご覧ください。
- 1.3.2 からの変更はありません。
バージョン 1.3.2
2022 年 12 月 7 日
androidx.compose.animation:animation:1.3.2
、androidx.compose.animation:animation-core:1.3.2
、androidx.compose.animation:animation-graphics:1.3.2
がリリースされました。バージョン 1.3.2 に含まれる commit については、こちらをご覧ください。
バグの修正
- androidx.compose.ui 1.3.2 をサポートするように更新しました
バージョン 1.3.1
2022 年 11 月 9 日
androidx.compose.animation:animation:1.3.1
、androidx.compose.animation:animation-core:1.3.1
、androidx.compose.animation:animation-graphics:1.3.1
がリリースされました。バージョン 1.3.1 に含まれる commit については、こちらをご覧ください。
バージョン 1.3.0
2022 年 10 月 24 日
androidx.compose.animation:animation:1.3.0
、androidx.compose.animation:animation-core:1.3.0
、androidx.compose.animation:animation-graphics:1.3.0
がリリースされました。バージョン 1.3.0 に含まれる commit については、こちらをご覧ください。
1.2.0 以降の重要な変更
- 新しいイージング関数のセットが安定版になりました
バージョン 1.3.0-rc01
2022 年 10 月 5 日
androidx.compose.animation:animation:1.3.0-rc01
、androidx.compose.animation:animation-core:1.3.0-rc01
、androidx.compose.animation:animation-graphics:1.3.0-rc01
がリリースされました。バージョン 1.3.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.3.0-beta03
2022 年 9 月 21 日
androidx.compose.animation:animation:1.3.0-beta03
、androidx.compose.animation:animation-core:1.3.0-beta03
、androidx.compose.animation:animation-graphics:1.3.0-beta03
がリリースされました。バージョン 1.3.0-beta03 に含まれる commit については、こちらをご覧ください。
- 1.3.0-beta02 からの変更はありません。
バージョン 1.3.0-beta02
2022 年 9 月 7 日
androidx.compose.animation:animation:1.3.0-beta02
、androidx.compose.animation:animation-core:1.3.0-beta02
、androidx.compose.animation:animation-graphics:1.3.0-beta02
がリリースされました。バージョン 1.3.0-beta02 に含まれる commit については、こちらをご覧ください。
- Kotlin.experimental は、非推奨になったため、コンパイラ オプションから削除されました。
バージョン 1.3.0-beta01
2022 年 8 月 24 日
androidx.compose.animation:animation:1.3.0-beta01
、androidx.compose.animation:animation-core:1.3.0-beta01
、androidx.compose.animation:animation-graphics:1.3.0-beta01
がリリースされました。バージョン 1.3.0-beta01 に含まれる commit については、こちらをご覧ください。
バージョン 1.3.0-alpha03
2022 年 8 月 10 日
androidx.compose.animation:animation:1.3.0-alpha03
、androidx.compose.animation:animation-core:1.3.0-alpha03
、androidx.compose.animation:animation-graphics:1.3.0-alpha03
がリリースされました。バージョン 1.3.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
Crossfade
、animateAsState
、Animatable
のツールラベル用の新しいパラメータ。(Iac08a)- 具体的な期間ではなく分数でキーフレームを定義する
atFraction
関数を追加しました。(I20c76、b/232059455)
バージョン 1.3.0-alpha02
2022 年 7 月 27 日
androidx.compose.animation:animation:1.3.0-alpha02
、androidx.compose.animation:animation-core:1.3.0-alpha02
、androidx.compose.animation:animation-graphics:1.3.0-alpha02
がリリースされました。バージョン 1.3.0-alpha02 に含まれる commit については、こちらをご覧ください。
バージョン 1.3.0-alpha01
2022 年 6 月 29 日
androidx.compose.animation:animation:1.3.0-alpha01
、androidx.compose.animation:animation-core:1.3.0-alpha01
、androidx.compose.animation:animation-graphics:1.3.0-alpha01
がリリースされました。バージョン 1.3.0-alpha01 に含まれる commit については、こちらをご覧ください。
API の変更
- 実際の測定 / レイアウトの前の先読みパスをサポートする新しい
LookaheadLayout
。レイアウトが変更されたときに事前計算を行いつつ、事後先読みの測定 / レイアウトを許可することが可能になるため、事前計算済みのサイズ / 位置を使用して、ターゲットに対するサイズと位置をアニメーション化することができます。SubcomposeLayouts
はまだサポートされていませんが、今後のリリースで対応する予定です。(I477f5)
バージョン 1.2
バージョン 1.2.1
2022 年 8 月 10 日
androidx.compose.animation:animation:1.2.1
、androidx.compose.animation:animation-core:1.2.1
、androidx.compose.animation:animation-graphics:1.2.1
がリリースされました。バージョン 1.2.1 に含まれる commit については、こちらをご覧ください。
バージョン 1.2.0
2022 年 7 月 27 日
androidx.compose.animation:animation:1.2.0
、androidx.compose.animation:animation-core:1.2.0
、androidx.compose.animation:animation-graphics:1.2.0
がリリースされました。バージョン 1.2.0 に含まれる commit については、こちらをご覧ください。
1.1.0 以降の重要な変更
- Compose Animation では、開発者向けオプションの [Animator 再生時間スケール] 設定がサポートされるようになりました。
- 選択可能な新しい試験運用版のイージング カーブが豊富にあります。
AnimatedImageVector
がrepeatCount
とrepeatMode
をサポートするようになりました。
バージョン 1.2.0-rc03
2022 年 6 月 29 日
androidx.compose.animation:animation:1.2.0-rc03
、androidx.compose.animation:animation-core:1.2.0-rc03
、androidx.compose.animation:animation-graphics:1.2.0-rc03
がリリースされました。バージョン 1.2.0-rc03 に含まれる commit については、こちらをご覧ください。
- 1.2.0-rc02 からの変更はありません。
バージョン 1.2.0-rc02
2022 年 6 月 22 日
androidx.compose.animation:animation:1.2.0-rc02
、androidx.compose.animation:animation-core:1.2.0-rc02
、androidx.compose.animation:animation-graphics:1.2.0-rc02
がリリースされました。バージョン 1.2.0-rc02 に含まれる commit については、こちらをご覧ください。
バグの修正
- イージング関数の
ExperimentalEasingApi
アノテーションを削除しました。(Ied441)
バージョン 1.2.0-rc01
2022 年 6 月 15 日
androidx.compose.animation:animation:1.2.0-rc01
、androidx.compose.animation:animation-core:1.2.0-rc01
、androidx.compose.animation:animation-graphics:1.2.0-rc01
がリリースされました。バージョン 1.2.0-rc01 に含まれる commit については、こちらをご覧ください。
API の変更
- compose ライブラリのインターフェースが jdk8 デフォルト インターフェース メソッドを使ってビルドされるようになりました。(I5bcf1)
バージョン 1.2.0-beta03
2022 年 6 月 1 日
androidx.compose.animation:animation:1.2.0-beta03
、androidx.compose.animation:animation-core:1.2.0-beta03
、androidx.compose.animation:animation-graphics:1.2.0-beta03
がリリースされました。バージョン 1.2.0-beta03 に含まれる commit については、こちらをご覧ください。
API の変更
- アニメーション用の試験運用版のイージング カーブを追加しました。(I64a38)
バージョン 1.2.0-beta02
2022 年 5 月 18 日
androidx.compose.animation:animation:1.2.0-beta02
、androidx.compose.animation:animation-core:1.2.0-beta02
、androidx.compose.animation:animation-graphics:1.2.0-beta02
がリリースされました。バージョン 1.2.0-beta02 に含まれる commit については、こちらをご覧ください。
バージョン 1.2.0-beta01
2022 年 5 月 11 日
androidx.compose.animation:animation:1.2.0-beta01
、androidx.compose.animation:animation-core:1.2.0-beta01
、androidx.compose.animation:animation-graphics:1.2.0-beta01
がリリースされました。バージョン 1.2.0-beta01 に含まれる commit については、こちらをご覧ください。
- これは、1.2 ベータ版の最初のリリースです。最後のアルファ版からの変更はありません。
バージョン 1.2.0-alpha08
2022 年 4 月 20 日
androidx.compose.animation:animation:1.2.0-alpha08
、androidx.compose.animation:animation-core:1.2.0-alpha08
、androidx.compose.animation:animation-graphics:1.2.0-alpha08
がリリースされました。バージョン 1.2.0-alpha08 に含まれる commit については、こちらをご覧ください。
バージョン 1.2.0-alpha07
2022 年 4 月 6 日
androidx.compose.animation:animation:1.2.0-alpha07
、androidx.compose.animation:animation-core:1.2.0-alpha07
、androidx.compose.animation:animation-graphics:1.2.0-alpha07
がリリースされました。バージョン 1.2.0-alpha07 に含まれる commit については、こちらをご覧ください。
API の変更
AnimatedImageVector
がrepeatCount
とrepeatMode
をサポートするようになりました(Ia3e75、b/199304067)
バージョン 1.2.0-alpha06
2022 年 3 月 23 日
androidx.compose.animation:animation:1.2.0-alpha06
、androidx.compose.animation:animation-core:1.2.0-alpha06
、androidx.compose.animation:animation-graphics:1.2.0-alpha06
がリリースされました。バージョン 1.2.0-alpha06 に含まれる commit については、こちらをご覧ください。
API の変更
- ベクター型ドローアブルの解析を更新して、現在のレイアウト方向が RTL の場合に
VectorPainter
のコンテンツを切り替える自動ミラーリングをサポートするようにしました。(I79cd9、b/185760237)
バグの修正
- ベクター グラフィック API を更新して、
@UiComposable
の代わりに適切なコンポーズ可能アノテーション@VectorComposable
を使用するようにしました(I942bc)
バージョン 1.2.0-alpha05
2022 年 3 月 9 日
androidx.compose.animation:animation:1.2.0-alpha05
、androidx.compose.animation:animation-core:1.2.0-alpha05
、androidx.compose.animation:animation-graphics:1.2.0-alpha05
がリリースされました。バージョン 1.2.0-alpha05 に含まれる commit については、こちらをご覧ください。
API の変更
- 今回、Compose Animation では、開発者向けオプションの [Animator 再生時間スケール] 設定がサポートされるようになりました。(I5a4fc、b/161675988)
バージョン 1.2.0-alpha04
2022 年 2 月 23 日
androidx.compose.animation:animation:1.2.0-alpha04
、androidx.compose.animation:animation-core:1.2.0-alpha04
、androidx.compose.animation:animation-graphics:1.2.0-alpha04
がリリースされました。バージョン 1.2.0-alpha04 に含まれる commit については、こちらをご覧ください。
バージョン 1.2.0-alpha03
2022 年 2 月 9 日
androidx.compose.animation:animation:1.2.0-alpha03
、androidx.compose.animation:animation-core:1.2.0-alpha03
、androidx.compose.animation:animation-graphics:1.2.0-alpha03
がリリースされました。バージョン 1.2.0-alpha03 に含まれる commit については、こちらをご覧ください。
バージョン 1.2.0-alpha02
2022 年 1 月 26 日
androidx.compose.animation:animation:1.2.0-alpha02
、androidx.compose.animation:animation-core:1.2.0-alpha02
、androidx.compose.animation:animation-graphics:1.2.0-alpha02
がリリースされました。バージョン 1.2.0-alpha02 に含まれる commit については、こちらをご覧ください。
バージョン 1.2.0-alpha01
2022 年 1 月 12 日
androidx.compose.animation:animation:1.2.0-alpha01
、androidx.compose.animation:animation-core:1.2.0-alpha01
、androidx.compose.animation:animation-graphics:1.2.0-alpha01
がリリースされました。バージョン 1.2.0-alpha01 に含まれる commit については、こちらをご覧ください。
API の変更
animatedVectorResource
ではなくAnimatedImageVector.animatedVectorResource
を使用して<animated-vector>
リソース ファイルを読み込みます。AnimatedImageVector#painterFor
ではなくrememberAnimatedVectorResource
を使用してAnimatedImageVector
をレンダリングします。(I9c300)
バグの修正
- toString メソッドを Animatable と AnimationResult に追加します。(Icd3a6)
依存関係の更新
- Kotlin
1.6.10
に依存するようになりました。
バージョン 1.1
バージョン 1.1.1
2022 年 2 月 23 日
androidx.compose.animation:animation:1.1.1
、androidx.compose.animation:animation-core:1.1.1
、androidx.compose.animation:animation-graphics:1.1.1
がリリースされました。バージョン 1.1.1 に含まれる commit については、こちらをご覧ください。
バグの修正
androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
のNullPointerException
を修正しました(aosp/1947059、b/206677462)- Android のクリップボードから読み取る際にクリップボードの内容が原因で発生するクラッシュを修正しました。(I06020、b/197769306)
LazyVerticalGrid
の RTL を修正しました(aosp/1931080、b/207510535)
バージョン 1.1.0
2022 年 2 月 9 日
androidx.compose.animation:animation:1.1.0
、androidx.compose.animation:animation-core:1.1.0
、androidx.compose.animation:animation-graphics:1.1.0
がリリースされました。バージョン 1.1.0 に含まれる commit については、こちらをご覧ください。
1.0.0 以降の重要な変更
- Android 12 のオーバースクロール効果の安定版サポートを追加
- タップ ターゲットのサイズ調整を改善
- Compose 1.0 では、マテリアル ユーザー補助ガイドラインのタップ ターゲットのサイズに合わせるために、マテリアル コンポーネントのレイアウト スペースが拡張されることに注意してください。たとえば、ボタンのサイズをいくら小さく設定しても、ボタンのタップ ターゲットは最小サイズの 48 x 48 dp に拡張されます。これにより、Compose Material とマテリアル デザイン コンポーネントの動作が一致し、View と Compose を混在させても動作の一貫性を保持できます。また、Compose Material コンポーネントを使用して UI を作成する際に、タップ ターゲットに関するユーザー補助の最小要件が確実に満たされます。
- ナビゲーション レールの安定版のサポートを追加
- 試験運用版であったいくつかの API を安定版に移行
- 新しいバージョンの Kotlin のサポート
バージョン 1.1.0-rc03
2022 年 1 月 26 日
androidx.compose.animation:animation:1.1.0-rc03
、androidx.compose.animation:animation-core:1.1.0-rc03
、androidx.compose.animation:animation-graphics:1.1.0-rc03
がリリースされました。バージョン 1.1.0-rc03 に含まれる commit については、こちらをご覧ください。
バグの修正
- Compose Material 1.1.0-rc03 をサポートするように更新しました。
バージョン 1.1.0-rc01
2021 年 12 月 15 日
androidx.compose.animation:animation:1.1.0-rc01
と androidx.compose.animation:animation-core:1.1.0-rc01
がリリースされました。バージョン 1.1.0-rc01 に含まれる commit については、こちらをご覧ください。
API の変更
animatedVectorResource
ではなくAnimatedImageVector.animatedVectorResource
を使用して<animated-vector>
リソース ファイルを読み込みます。AnimatedImageVector#painterFor
ではなくrememberAnimatedVectorResource
を使用してAnimatedImageVector
をレンダリングします。(I9c300)
バージョン 1.1.0-beta04
2021 年 12 月 1 日
androidx.compose.animation:animation:1.1.0-beta04
、androidx.compose.animation:animation-core:1.1.0-beta04
、androidx.compose.animation:animation-graphics:1.1.0-beta04
がリリースされました。バージョン 1.1.0-beta04 に含まれる commit については、こちらをご覧ください。
新機能
- Kotlin
1.6.0
との互換性を確保するために更新しました
バージョン 1.1.0-beta03
2021 年 11 月 17 日
androidx.compose.animation:animation:1.1.0-beta03
、androidx.compose.animation:animation-core:1.1.0-beta03
、androidx.compose.animation:animation-graphics:1.1.0-beta03
がリリースされました。バージョン 1.1.0-beta03 に含まれる commit については、こちらをご覧ください。
API の変更
- プレースメントの変更を監視できるように、新しい修飾子 Modifier.onPlaced を追加しました。これにより、監視対象のプレースメントの変更に基づいて、子修飾子のオフセットに追加の変更を行うことができます。(I558fd)
Crossfade で contentKey が新たにサポートされるようになりました。contentKey は、アニメーション システムによる等価性の確認に使用されます。したがって、状態ごとに適切な contentKey を指定することで、状態に応じたカスタム比較を実行できます。
contentKey は、コンテンツを保存および復元するためのキーとしても使用されます。(I2e055、b/197907070)
バージョン 1.1.0-beta02
2021 年 11 月 3 日
androidx.compose.animation:animation:1.1.0-beta02
、androidx.compose.animation:animation-core:1.1.0-beta02
、androidx.compose.animation:animation-graphics:1.1.0-beta02
がリリースされました。バージョン 1.1.0-beta02 に含まれる commit については、こちらをご覧ください。
バグの修正
- ツールをサポートする新しいアニメーション API が追加されました。具体的には、Transition でアニメーションとその構成を検査するツールが利用可能になりました。(I4116e)
バージョン 1.1.0-beta01
2021 年 10 月 27 日
androidx.compose.animation:animation:1.1.0-beta01
、androidx.compose.animation:animation-core:1.1.0-beta01
、androidx.compose.animation:animation-graphics:1.1.0-beta01
がリリースされました。バージョン 1.1.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
- ツールをサポートする新しいアニメーション API が追加されました。具体的には、Transition でアニメーションとその構成を検査するツールが利用可能になりました。(I4116e)
バージョン 1.1.0-alpha06
2021 年 10 月 13 日
androidx.compose.animation:animation:1.1.0-alpha06
、androidx.compose.animation:animation-core:1.1.0-alpha06
、androidx.compose.animation:animation-graphics:1.1.0-alpha06
がリリースされました。バージョン 1.1.0-alpha06 に含まれる commit については、こちらをご覧ください。
バージョン 1.1.0-alpha05
2021 年 9 月 29 日
androidx.compose.animation:animation:1.1.0-alpha05
、androidx.compose.animation:animation-core:1.1.0-alpha05
、androidx.compose.animation:animation-graphics:1.1.0-alpha05
がリリースされました。バージョン 1.1.0-alpha05 に含まれる commit については、こちらをご覧ください。
API の変更
EnterTransition
、ExitTransition
、一部のAnimatedVisibility
API が安定版になりました。MutableTransitionState.isIdle
も試験運用版ではなくなりました。(I5072d)互換性を破る変更: EnterTransition / ExitTransition ファクトリのラムダが、パラメータ リストの最後の位置に移動しました。(I5072d)
バージョン 1.1.0-alpha04
2021 年 9 月 15 日
androidx.compose.animation:animation:1.1.0-alpha04
、androidx.compose.animation:animation-core:1.1.0-alpha04
、androidx.compose.animation:animation-graphics:1.1.0-alpha04
がリリースされました。バージョン 1.1.0-alpha04 に含まれる commit については、こちらをご覧ください。
バージョン 1.1.0-alpha03
2021 年 9 月 1 日
androidx.compose.animation:animation:1.1.0-alpha03
、androidx.compose.animation:animation-core:1.1.0-alpha03
、androidx.compose.animation:animation-graphics:1.1.0-alpha03
がリリースされました。バージョン 1.1.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- Kotlin
1.5.30
に依存するように Compose1.1.0-alpha03
を更新しました。(I74545)
バージョン 1.1.0-alpha02
2021 年 8 月 18 日
androidx.compose.animation:animation:1.1.0-alpha02
、androidx.compose.animation:animation-core:1.1.0-alpha02
、androidx.compose.animation:animation-graphics:1.1.0-alpha02
がリリースされました。バージョン 1.1.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
- StartOffset が repeatable と infiniteRepeatable でサポートされるようになりました。これは、アニメーションの開始前に、開始時間を遅らせたりアニメーションを早送りしたりするために使用するものです。この開始オフセットは繰り返されません(Ic679f、b/195079908)
- スケール用の新しい開始 / 終了遷移。他のタイプの Enter / ExitTransitions と組み合わせて使用できます。(I372da、b/191325593)
バージョン 1.1.0-alpha01
2021 年 8 月 4 日
androidx.compose.animation:animation:1.1.0-alpha01
、androidx.compose.animation:animation-core:1.1.0-alpha01
、androidx.compose.animation:animation-graphics:1.1.0-alpha01
がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください。
API の変更
AnimatedImageVector
と関連する API が新しいandroidx.compose.animation:animation-graphics
モジュールに追加されました。(I60873)
バグの修正
InfiniteAnimationPolicy
を :compose:ui に移動しました(I5eb09、b/160602714)
バージョン 1.0
バージョン 1.0.5
2021 年 11 月 3 日
androidx.compose.animation:animation:1.0.5
と androidx.compose.animation:animation-core:1.0.5
がリリースされました。バージョン 1.0.5 に含まれる commit については、こちらをご覧ください。
バグの修正
- derivedStateOf インスタンスをトラッキングするクラッシュを修正しました。(aosp/1792247)
バージョン 1.0.4
2021 年 10 月 13 日
androidx.compose.animation:animation:1.0.4
と androidx.compose.animation:animation-core:1.0.4
がリリースされました。バージョン 1.0.4 に含まれる commit については、こちらをご覧ください。
依存関係の更新
- Kotlin
1.5.31
に依存するように更新しました。
バージョン 1.0.3
2021 年 9 月 29 日
androidx.compose.animation:animation:1.0.3
と androidx.compose.animation:animation-core:1.0.3
がリリースされました。バージョン 1.0.3 に含まれる commit については、こちらをご覧ください。
依存関係の更新
- Kotlin
1.5.30
に依存するように更新しました。
バージョン 1.0.2
2021 年 9 月 1 日
androidx.compose.animation:animation:1.0.2
と androidx.compose.animation:animation-core:1.0.2
がリリースされました。バージョン 1.0.2 に含まれる commit については、こちらをご覧ください。
Compose 1.0.2
リリースをサポートするように更新しました。Compose 1.0.2
は、引き続き Kotlin 1.5.21
と互換性があります。
バージョン 1.0.1
2021 年 8 月 4 日
androidx.compose.animation:animation:1.0.1
と androidx.compose.animation:animation-core:1.0.1
がリリースされました。バージョン 1.0.1 に含まれる commit については、こちらをご覧ください。
依存関係の更新
- Kotlin
1.5.21
に依存するように更新しました。
バージョン 1.0.0
2021 年 7 月 28 日
androidx.compose.animation:animation:1.0.0
と androidx.compose.animation:animation-core:1.0.0
がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください。
1.0.0 の主な機能
これは Compose の最初の安定版リリースです。詳細については、Compose リリースの公式ブログをご覧ください。
既知の問題
Android Studio Bumblebee Canary 4 または AGP
7.1.0-alpha04
/7.1.0-alpha05
を使用している場合、次のクラッシュが発生することがあります。java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
修正するには、
build.gradle
ファイルで一時的に minSdkVersion を 24 以上に変更します。この問題は、次期バージョンの Android Studio Bumblebee と AGP7.1
で修正される予定です。(b/194289155)
バージョン 1.0.0-rc02
2021 年 7 月 14 日
androidx.compose.animation:animation:1.0.0-rc02
と androidx.compose.animation:animation-core:1.0.0-rc02
がリリースされました。バージョン 1.0.0-rc02 に含まれる commit については、こちらをご覧ください。
バージョン 1.0.0-rc01
2021 年 7 月 1 日
androidx.compose.animation:animation:1.0.0-rc01
と androidx.compose.animation:animation-core:1.0.0-rc01
がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
InfiniteAnimationPolicy
をandroidx.compose.ui:ui
に移動しました(I5eb09、b/160602714)
バージョン 1.0.0-beta09
2021 年 6 月 16 日
androidx.compose.animation:animation:1.0.0-beta09
と androidx.compose.animation:animation-core:1.0.0-beta09
がリリースされました。バージョン 1.0.0-beta09 に含まれる commit については、こちらをご覧ください。
API の変更
- 新しい
AnimatedContent
Composable は、新しいターゲット コンテンツが開始し初期のコンテンツが終了すると、カスタマイズ可能なContentTransform
を使用してコンテンツの変更を管理します。開始遷移と終了遷移をさまざまに組み合わせて、カスタマイズしたデザインを作成できます。コンテンツ変換の一部として、AnimatedContent
は受信コンテンツに合わせてサイズを自動的に切り替えます。(I2c3df) ManualFrameClock
を削除しました。アニメーションを制御する必要がある場合は、代わりにcomposeTestRule.mainClock
を使用してください。(I3c3e8、b/189951065)
プロファイル ルールの追加
このリリースでは、以下の compose モジュールにプロファイル ルールが追加されました。(I14ed6)
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
プロファイル ルールとは
ライブラリのプロファイル ルールは、
src/main
または同等のディレクトリにあるテキスト ファイルbaseline-prof.txt
で指定します。このファイルでは、1 行に 1 つずつルールを指定します。ここでのルールは、ライブラリ内のメソッドまたはクラスと合致するパターンです。ルールの構文は、人が読める ART プロファイル形式のスーパーセットで、adb shell profman --dump-classes-and-methods ...
を使用する際に使用されます。ルールは、メソッドまたはクラスをターゲットとする 2 つの形式のいずれかを使用します。メソッドルールのパターンは次のようになります。
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
クラスルールのパターンは次のようになります。
<CLASS_DESCRIPTOR>
上記の
<FLAGS>
には、このメソッドに「ホット」、「起動」、または「起動後」のフラグを付ける場合にそれぞれ文字H
、S
、P
(1 つまたは複数)を入力します。<CLASS_DESCRIPTOR>
は、ターゲットとなるメソッドが属するクラスの記述子です。たとえば、クラスandroidx.compose.runtime.SlotTable
の記述子は、Landroidx/compose/runtime/SlotTable;
です。<METHOD_SIGNATURE>
はメソッドのシグネチャで、メソッドの名前、パラメータの型、戻り値の型を含みます。たとえば、LayoutNode
のメソッドfun isPlaced(): Boolean
のシグネチャは、isPlaced()Z
です。1 つのルールに複数のメソッドまたはクラスを含める場合は、これらのパターンにワイルドカード(
**
、*
、?
)を使用できます。
ルールの機能
フラグ
H
が付いているメソッドは、このメソッドが「ホット」メソッドであり、事前コンパイルが必要であることを示します。S
フラグが付いているメソッドは、このメソッドが起動時に呼び出されるメソッドであり、コンパイルのコストと起動時にメソッドを解釈するコストを回避するために事前コンパイルが必要であることを示します。P
フラグが付いているメソッドは、このメソッドが起動後に呼び出されることを示します。このファイルに存在するクラスは、このクラスが起動時に使用されるクラスであり、クラス読み込みのコストを回避するためにヒープで事前割り当てする必要があることを示しています。
ルールの仕組み
- ライブラリは、AAR アーティファクトにパッケージするルールを定義できます。それらのアーティファクトを含むアプリがビルドされると、ルールが結合されます。結合されたルールは、アプリに固有のコンパクト バイナリ ART プロファイルをビルドするために使用されます。ART では、アプリがデバイスにインストールされた際にこのプロファイルを利用して、アプリの特定の部分を事前にコンパイルし、アプリのパフォーマンス(特に初回実行時)を改善できます。なお、これはデバッグ可能なアプリには影響しません。
バージョン 1.0.0-beta08
2021 年 6 月 2 日
androidx.compose.animation:animation:1.0.0-beta08
と androidx.compose.animation:animation-core:1.0.0-beta08
がリリースされました。バージョン 1.0.0-beta08 に含まれる commit については、こちらをご覧ください。
バグの修正
detectDragGesures
、detectVerticalGestures
、detectHorizontalGestures
が位置変更を自動的に使用するようになり、onDrag コールバックで change.consumePositionChange を呼び出す必要がなくなりました(I42fc4、b/185096350、b/187320697)Modifier.onGloballyPositioned()
は、すべての修飾子を適用した後のレイアウト座標ではなく、修飾子チェーン内のこの修飾子の座標を報告するように変更されました。これにより、報告される座標が、修飾子の順序の影響を受けるようになりました。(Ieb67d、b/177926591)
バージョン 1.0.0-beta07
2021 年 5 月 18 日
androidx.compose.animation:animation:1.0.0-beta07
と androidx.compose.animation:animation-core:1.0.0-beta07
がリリースされました。バージョン 1.0.0-beta07 に含まれる commit については、こちらをご覧ください。
API の変更
MutableTransitionState
で指定される可視設定をサポートする新しいAnimatedVisibility
API。これにより、currentState
とisIdle
からAnimatedVisibility
の外部でアニメーションの状態を監視できます。- Transition における新しい子遷移のサポート
- AnimationScope.transition を使用して AnimatedVisibility 内のカスタム exit/enter 遷移アニメーションをサポート
- AnimatedVisibility のすべての子からアクセスできる animateEnterExit 修飾子を追加
initiallyVisible
パラメータをとる AnimatedVisibility API は非推奨になりました(I702f3)
バージョン 1.0.0-beta06
2021 年 5 月 5 日
androidx.compose.animation:animation:1.0.0-beta06
と androidx.compose.animation:animation-core:1.0.0-beta06
がリリースされました。バージョン 1.0.0-beta06 に含まれる commit については、こちらをご覧ください。
バージョン 1.0.0-beta05
2021 年 4 月 21 日
androidx.compose.animation:animation:1.0.0-beta05
と androidx.compose.animation:animation-core:1.0.0-beta05
がリリースされました。バージョン 1.0.0-beta05 に含まれる commit については、こちらをご覧ください。
バグの修正
- ui-test-manifest と ui-tooling-data の AndroidManifest ファイルに、Android 12 との互換性が備わりました。(I6f9de、b/184718994)
バージョン 1.0.0-beta04
2021 年 4 月 7 日
androidx.compose.animation:animation:1.0.0-beta04
と androidx.compose.animation:animation-core:1.0.0-beta04
がリリースされました。バージョン 1.0.0-beta04 に含まれる commit については、こちらをご覧ください。
API の変更
RowScope
、ColumnScope
、BoxScope
、BoxWithConstraintsScope
のパブリック インスタンスが削除されました。(I4e83e、b/181869067)
バージョン 1.0.0-beta03
2021 年 3 月 24 日
androidx.compose.animation:animation:1.0.0-beta03
と androidx.compose.animation:animation-core:1.0.0-beta03
がリリースされました。バージョン 1.0.0-beta03 に含まれる commit については、こちらをご覧ください。
バージョン 1.0.0-beta02
2021 年 3 月 10 日
androidx.compose.animation:animation:1.0.0-beta02
と androidx.compose.animation:animation-core:1.0.0-beta02
がリリースされました。バージョン 1.0.0-beta02 に含まれる commit については、こちらをご覧ください。
バグの修正
- 試験運用版 API の一般使用に対する制限を適用します(I6aa29、b/174531520)
バージョン 1.0.0-beta01
2021 年 2 月 24 日
androidx.compose.animation:animation:1.0.0-beta01
と androidx.compose.animation:animation-core:1.0.0-beta01
がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください。
これは、Compose 1.0.0 ベータ版の最初のリリースです。
API の変更
InteractionState
を[Mutable]InteractionSource
に置き換えました。- インターフェースは、操作イベントを送受信する役割を担います。
interactionState = remember { InteractionState() }
をButton
やModifier.clickable()
などのコンポーネントに渡す代わりに、interactionSource = remember { MutableInteractionSource() }
を使用します。Interaction.Pressed in interactionState
ではなく、InteractionSource で拡張関数(InteractionSource.collectIsPressedAsState() など)を使用する必要があります。- 複雑なユースケースの場合は、InteractionSource.interactions を使用して操作フローを確認できます。詳しくは、InteractionSource のドキュメントとサンプルをご覧ください。
- (I85965、b/152525426、b/171913923、b/171710801、b/174852378)
- smoothScrollBy メソッドと scrollBy メソッドのパッケージを
androidx.compose.foundation.gestures.*
に変更しました(I3f7c1、b/175294473) - サイズ修飾子の名前を変更しました。Modifier.width/height/size の名前を requiredWidth/requiredHeight/requiredSize に変更しました。Modifier.preferredWidth/preferredHeight/preferredSize の名前を width/height/size に変更しました。(I5b414)
- Orientation を foundation パッケージに移動しました。VelocirtTracker を ui.gesture から ui.input.pointer に移動しました。(Iff4a8、b/175294473)
- AnimationClockObservable とサブクラスを削除しました。AnimatedFloat を削除しました。(Icde52、b/177457083)
- Modifier.draggable は、単純なラムダの代わりに、DraggableState を受け入れるようになりました。
rememberDraggableState { delta -> }
を介して状態を作成し、以前と同じ動作を実現できます(Ica70f、b/175294473)。 - animate、animatedValue、AnimatedValue API を削除しました(If27bc、b/177457083)
- AnimationEndReason.Interruped を削除しました。アニメーションが中断されると、CancellationException がスローされるようになります。(I2cbbc、b/179695417)
- TargetAnimation API を削除しました。(If47d1、b/177457083)
バージョン 1.0.0-alpha12
2021 年 2 月 10 日
androidx.compose.animation:animation:1.0.0-alpha12
と androidx.compose.animation:animation-core:1.0.0-alpha12
がリリースされました。バージョン 1.0.0-alpha12 に含まれる commit については、こちらをご覧ください。
API の変更
Modifier.pointerInput
は、ポインタ入力検出コルーチンを新しい依存関係で再開するタイミングを示す remember キーを必要とするようになりました。(I849cd)- Bounds の名前を DpRect に変更しました。(I4b32a)
- AnimationSpec のパラメータ名を、アニメーション システム全体で animationSpec に統一しました。また、EnterTransition と ExitTransition については、FiniteAnimationSpec を受け入れるようにしています。(Ie47c5、b/177457083)
- Animatable.snapTo と Animatable.stop が suspend 関数になりました。(If4288)
- 以前
state { 0 }
composable を削除してremember { mutableStateOf(0) }
のような使い方を推奨するようになったのと同様、savedInstanceState { 0 }
composable を削除する予定です。代わりにrememberSaveable { mutableStateOf(0) }
の使用を推奨します。これにより、MutableState 内で使用されるタイプが Bundle に保存可能な場合は、自動的に保存および復元が行われるようになります。これまでカスタムのセーバー オブジェクトを渡していた場合は、stateSaver
パラメータを含む rememberSaveable の新しいオーバーロードを使用する必要があります。使い方は、val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
のようになります。(Ib4c26、b/177338004) - アニメーション システムの他の部分との一貫性を高めるため、Crossfade のメソッド シグネチャを更新しました。(Ib05ed、b/177457083)
- rememberSavedInstanceState() の名前を rememberSaveable() に変更して androidx.compose.runtime.saveable パッケージに移動しました。(I1366e、b/177338004)
- RestorableStateHolder の名前を SaveableStateHolder に変更して androidx.compose.runtime.saveable パッケージに移動しました。内部メソッド RestorableStateProvider の名前を SaveableStateProvider に変更しました。汎用型が削除されたため、Any をキーとして渡すことができます。試験運用版のアノテーションは不要になりました。(I0902e、b/174598702)
- アニメーション システムの他の部分と一貫性を持たせるため、Modifier.animateContentSize API を更新しました。(I0bf75、b/177457083)
- AnimatedValue/Float が非推奨になりました。代わりに Animatable を使用してください。(I71345、b/177457083)
- tapGestureFilter、doubleTapGestureFilter、longPressGestureFilter、pressIndicaitonGestureFilter が非推奨になりました。代わりに、Modifier.clickable または Modifier.pointerInput を detectTapGestures 関数とともに使用してください。(I6baf9、b/175294473)
- 無限アニメーションに適用される
InfiniteAnimationPolicy
コルーチン コンテキスト要素を導入しました。ComposeTestRule
を使用してテストを実行する場合を除き、デフォルトではポリシーはインストールされません。(I50ec4、b/151940543) - destructuring と copy() メソッドを、これらをほとんど使用しないクラスから削除しました。(I26702、b/178659281)
- アニメーションの再生時間をナノ秒単位に統一しました。(If776a)
- compose:runtime-dispatch アーティファクトは非推奨になりました。 MonotonicFrameClock は compose:runtime に、また AndroidUiDispatcher は compose:ui に含まれるようになりました。(Ib5c36)
- アニメーションが無限であるかどうかを示す
Animation.isInfinite
とVectorizedAnimationSpec.isInfinite
を追加しました。これは、アニメーションの実装において、無限アニメーションに特別な処理を行う場合に利用できます。たとえば、「残り時間」の表示を通常と変えたり、テストでアイドル状態を待ち続けることを避けるためにアニメーションをキャンセルしたりできます。(Iebb05、b/151940543) - アニメーション時間の型には、Uptime ではなく Long を使用します。(Ie3aa7、b/177420019)
バージョン 1.0.0-alpha11
2021 年 1 月 28 日
androidx.compose.animation:animation:1.0.0-alpha11
と androidx.compose.animation:animation-core:1.0.0-alpha11
がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit については、こちらをご覧ください。
API の変更
- TransitionDefinition ベースの Transition が非推奨になりました。(I0ac57)
- ツールに表示される Transition と子のアニメーション用のラベル フィールドを追加しました。(I619fb)
- animateAsState が animateFooAsState になりました。ここで Foo はアニメーション化される変数の型です(Float、Dp、Offset など)。(Ie7e25)
- 子のアニメーションをいくつでも実行できる、新しい InfiniteTransition。(I1da81)
- Material のステートフル パラメータ インターフェースを変更して、
State<T>
を返す @Composable 関数を提供するようにしました。Animatable.asState() を追加しました。これにより、Animatable から State への変換が簡単にできるようになりました。また、animateElevation を、Animatable の suspend 拡張機能に変更しました。(If613c)
バグの修正
- onCommit、onDispose、onActive を非推奨にし、SideEffect API と DisposableEffect API に置き換えました。(If760e)
- updateTransition の Initial State がサポートされるようになりました。(Ifd51d)
- 画像とアイコンにコンテンツ説明パラメータを追加しました。これは、ユーザー補助サービスに説明を提供するために使用されます。(I2ac4c)
- invalidate と compositionReference() を非推奨にし、それぞれ currentRecomposeScope と rememberCompositionReference に置き換えました。(I583a8)
- Duration と Uptime を Long ミリ秒に置き換えます。これにより、これらのクラスに対するポインタ入力の依存関係が削除されます。(Ia33b2、b/175142755、b/177420019)
- clickable、toggleable、selectable が、コンポジションの外部でも作成できるようになりました(I0a130、b/172938345、b/175294473)。
- イージングが機能インターフェースに変更されました。(Ib14e5)
- LazyColumn / LazyRow / LazyVerticalGrid のスコープのための新しい
items(count: Int)
ファクトリ メソッド。items(items: List)
とitemsIndexed(items: List)
が拡張関数になりました。そのため、使用するときには手動でインポートする必要があります。Arrays の新しい拡張オーバーロード: items(items: Array) と itemsIndexed(Array)(I803fc、b/175562574) - テストでは TestCoroutineDispatcher を利用します。(I532b6)
- PointerInputData を削除し、PointerInputData のフィールドをすべて利用できるように PointerInputChange を変更しました。PointerInputEvent と PointerInputEventData は公開 API で使用されることがないため、内部化しました。(Ifff97、b/175142755)
バージョン 1.0.0-alpha10
2021 年 1 月 13 日
androidx.compose.animation:animation:1.0.0-alpha10
と androidx.compose.animation:animation-core:1.0.0-alpha10
がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit については、こちらをご覧ください。
API の変更
- Velocity がコンポーネント部品と数学演算を持つように変更しました。(Ib0447)
- 類似する試験運用版の API アノテーションとの整合性を保つため、
@ExperimentalTesting
の名前を@ExperimentalTestApi
に変更しました。(Ia4502、b/171464963) - Position の名前を DpOffset に変更し、getDistance() を削除しました。(Ib2dfd)
- Any.identityHashCode() 公開 API を削除しました。(I025d7)
バグの修正
- 新しいコルーチン ベースの API
Animatable
が、アニメーション間の相互排他的性を保証します。新しい DecayAnimationSpec で多次元の消滅アニメーションをサポートしました。(I820f2、b/168014930) animate()
がanimateAsState()
に置き換えられました。T
ではなくState<T>
を返します。これにより、State 値が読み取られる範囲に無効化スコープを絞り込めるため、パフォーマンスが向上します。(Ib179e)
バージョン 1.0.0-alpha09
2020 年 12 月 16 日
androidx.compose.animation:animation:1.0.0-alpha09
と androidx.compose.animation:animation-core:1.0.0-alpha09
がリリースされました。バージョン 1.0.0-alpha09 に含まれる commit については、こちらをご覧ください。
API の変更
- Dp.VectorConverter、Position.VectorConverter などを animation-core に移動し、古い VectorConveters を非推奨にしました。(If0c4b)
- まったく新しい Transition API セットを導入しました。使いやすさが向上し、動的に追加されたアニメーションと、動的に計算されたアニメーション ターゲットがサポートされます。この API は、TransitionDefinition ベースの API と簡単に区別できるように試験運用版としてマークされています。(Ia7fe3)
バグの修正
- オフセット修飾子のラムダが Float ではなく IntOffset を返すようになりました。(Ic9ee5、b/174137212、b/174146755)
- LazyColumnFor、LazyRowFor、LazyColumnForIndexed、LazyRowForIndexed を非推奨にしました。代わりに LazyColumn と LazyRow を使用してください。(I5b48c)
- 一時停止ポインタ入力 API について、HandlePointerInputScope の名前を AwaitPointerEventScope に変更し、handlePointerInput() の名前を awaitPointerEventScope() に変更しました。(Idf0a1、b/175142755)
- InfiniteRepeatableSpec を作成するための新しい infiniteRepeatable 関数(I668e5)
- ExperimentalPointerInput アノテーションを削除しました(Ia7a24)
バージョン 1.0.0-alpha08
2020 年 12 月 2 日
androidx.compose.animation:animation:1.0.0-alpha08
と androidx.compose.animation:animation-core:1.0.0-alpha08
がリリースされました。バージョン 1.0.0-alpha08 に含まれる commit については、こちらをご覧ください。
API の変更
- Compose のガイドラインとの整合性を確認するため、コンポーズ可能なラムダ パラメータの名前と位置に対する lint チェックを追加しました。また、lint チェックおよびガイダンスに従って、後置ラムダの名前として
children
を使用する一部の API をcontent
に移行しました。(Iec48e) - 以前に非推奨になっていた API が削除されました。
Modifier.onPositioned
が削除されました。Modifier.onGloballyPositioned
を使用してください。Modifier.onDraw
が削除されました。Modifier.onDrawBehind
を使用してください。Modifier.plus
が削除されました。Modifier.then
を使用してください。Color.Unset
が削除されました。Color.Unspecified
を使用してください。PxBounds
クラスが削除されました。代わりにRect
を使用してください。- (Ie9d02、b/172562222)
- TestAnimationClock が MonotonicFrameClock によって作動するようにするオプションを一時的に追加しました。(I1403b、b/173402197)
バグの修正
- Modifier.drawLayer の名前を Modifier.graphicsLayer に変更しました。また、API 評議会のフィードバックに従って、関連するクラスを GraphicsLayer に更新しました。(I0bd29、b/173834241)
- Modifier.scale API / Modifier.rotate API を drawLayer 用のコンビニエンス API として追加しました。
- Modifier.drawOpacity の名前を Modifier.alpha に変更しました。
- Modifier.drawShadow の名前を Modifier.Shadow に変更しました。(I264ca、b/173208140)
- PointerInputData の uptime フィールドと position フィールドを null 値非許容にしました。(Id468a)
- offsetPx 修飾子の名前が offset に変更されました。現在は、State ではなくラムダ パラメータを取得します。(Ic3021、b/173594846)
- コルーチンでアニメーションを実行するための新しい API を追加しました(Ied662)
Ambient
という接尾辞を持つ Ambient が非推奨になり、その他の Ambient と Compose API のガイドラインに沿って、Ambient という接頭辞を持つ新しいプロパティに置き換えられました。(I33440)- テストの時間制御(TestAnimationClock とその使用方法)が試験運用版になりました。(I6ef86、b/171378521)
- 古い ui-test モジュールとそのスタブを削除しました。(I3a7cb)
RestorableStateHolder.withRestorableState
関数がRestorableStateProvider
という名前に変更されました。(I66640)- Alignment インターフェースが更新され、機能するようになりました。(I46a07、b/172311734)
バージョン 1.0.0-alpha07
2020 年 11 月 11 日
androidx.compose.animation:animation:1.0.0-alpha07
と androidx.compose.animation:animation-core:1.0.0-alpha07
がリリースされました。バージョン 1.0.0-alpha07 に含まれる commit については、こちらをご覧ください。
バグの修正
- 基本の AmbientTextStyle、ProvideTextStyle、AmbientContentColor が非推奨になりました。代わりに、マテリアル ライブラリにある新バージョンを使用してください。マテリアル以外のアプリの場合は、独自のコンポーネントで使用できる、独自のデザイン システム固有のテーマ設定アンビエントを代わりに作成する必要があります。(I74acc、b/172067770)
- foundation.Text が非推奨になり、material.Text に置き換えられました。テーマの値を使用しない、基本的で独自性のないテキスト API については、androidx.compose.foundation.BasicText をご覧ください。(If64cb)
- MeasureResult を MeasureScope の外に移動しました。(Ibf96d、b/171184002)
- いくつかのレイアウト関連シンボルを androidx.compose.ui から androidx.compose.layout.ui に移動しました。(I0fa98、b/170475424)
バージョン 1.0.0-alpha06
2020 年 10 月 28 日
androidx.compose.animation:animation:1.0.0-alpha06
と androidx.compose.animation:animation-core:1.0.0-alpha06
がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。
API の変更
- ComposeTestRule で遷移が有効になりました。ComposeTestRule から、カーソルの点滅を有効にするオプションを削除しました。(If0de3)
バージョン 1.0.0-alpha05
2020 年 10 月 14 日
androidx.compose.animation:animation:1.0.0-alpha05
と androidx.compose.animation:animation-core:1.0.0-alpha05
がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。
API の変更
- 新しいアニメーション インターフェースとサブクラス: これらのクラスには、アニメーションの開始条件と終了条件が格納されます。そのため、値と速度のクエリは、プレイ時間中しか実施できません。(Ie95bd、b/163329867)
バグの修正
- OnPositionedModifier が OnGloballyPositionedModifier という名前に、onPositioned() が onGloballyPositioned() という名前に変更されました。(I587e8、b/169083903)
contentColor() API と currentTextStyle() API が非推奨になり、それぞれ AmbientContentColor アンビエントと AmbientTextStyle アンビエントに置き換えられました。他のアンビエントと同様、アンビエント プロパティで
.current
を使用する方法で現在の値にアクセスできるようになりました。これは、同じことを行う方法が複数にならないよう、一貫性を確保するために加えられた変更です。また、以下のように、目的を適切に表すために一部のアンビエント プロパティの名前が変更されました。- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme(I37b6d)
バージョン 1.0.0-alpha04
2020 年 10 月 1 日
androidx.compose.animation:animation:1.0.0-alpha04
と androidx.compose.animation:animation-core:1.0.0-alpha04
がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。
API の変更
- rootAnimationClockFactory、transitionsEnabled、blinkingCursorEnabled、textInputServiceFactory を @VisibleForTesting でアノテーションし、内部 API 化して kdoc を非表示にしました。(I554eb、b/168308412)
バグの修正
- グラフィック API を多数更新しました。
- スケール変換 API と回転変換 API を更新しました。これにより、DrawScope と DrawTransform の x 座標と y 座標に 2 つの float パラメータを使用してピボット座標を別個に示すのではなく、単一の Offset パラメータを使用するようにしました。
- Rect.expandToInclude メソッドと Rect.join メソッドを削除しました。
- 楕円に加えて長円を表示するように Radius のドキュメントを更新しました。
- インライン Radius クラスのパブリック コンストラクタを直接呼び出すのではなく、関数コンストラクタを通じて Radius オブジェクトをインスタンス化する必要があることをドキュメントに記載しました。
- topRight、bottomRight、bottomCenter などを照会するための RoundRect API を削除しました。
- Rect.shift が非推奨になり、Rect.translate に置き換えられました。
- RoundRect.grow API と Rect.shrink API を削除しました。
- RoundRect.outerRect の名前を Rect.boundingRect に変更しました。
- RoundRect.middleRect/tallMiddleRect/wideMiddleRect と Rect.isStadium メソッドを削除しました。
- RoundRect.longestSide の名前を RoundRect.maxDimension に変更しました。
- RoundRect.shortestSide の名前を RoundRect.minDimension に変更しました。
- RoundRect.center は、関数ではなくプロパティになりました。
- RoundRect コンストラクタを更新し、x/y 半径の値の個々のパラメータではなく Radius プロパティを使用するようにしました。
- 原点が(0,0)の長方形であると仮定していた Size API を削除しました。
- Radius に記述解除 API を追加しました。
- さまざまな RoundRect 拡張関数をプロパティに移行しました。
- (I8f5c7、b/168762961)
- foundation.Box は非推奨になりました。代わりに foundation.layout.Box を使用してください。(Ie5950、b/167680279)
- Stack が Box に名前変更されました。compose.foundation.layout にある新しい Box を優先して、既存の Box は非推奨になります。Box の子が複数ある場合、新しい Box は子を互いに重ね合わせるように動作します。これは、Column と同じように動作していた以前の Box とは異なります。(I94893、b/167680279)
- Box 装飾パラメータが非推奨になりました。Box に装飾やパディングを付ける場合は、代わりに修飾子を使用します。(Modifier.background、Modifier.border、Modifier.padding)(Ibae92、b/167680279)
- レイアウト スコープのコンテンツ(RowScope の alignWithSiblings など)を静的にインポートできないようにしました。代わりに明示的なスコープ(
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }
)を使用してください。(I216be、b/166760797)
バージョン 1.0.0-alpha03
2020 年 9 月 16 日
androidx.compose.animation:animation:1.0.0-alpha03
と androidx.compose.animation:animation-core:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
バグの修正
- レイアウト API の gravity の用法で、名前が align または alignment に一貫して変更されました。(I2421a、b/164077038)
バージョン 1.0.0-alpha02
2020 年 9 月 2 日
androidx.compose.animation:animation:1.0.0-alpha02
と androidx.compose.animation:animation-core:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
特定のクロックのフレームを待機しているかどうかを確認するため、
ManualFrameClock.hasAwaiters
を追加しました。runWithManualClock
は ManualFrameClock を必要とするテストrunBlocking
に代わるものです。TestUiDispatcher.Main
はテストのメイン UI ディスパッチャへのアクセスを容易にします。例:
@Test fun myTest() = runWithManualClock { clock -> // set some compose content withContext(TestUiDispatcher.Main) { clock.advanceClock(1000L) } if (clock.hasAwaiters) { println("The clock has awaiters") } else { println("The clock has no more awaiters") } }
バグの修正
onPrecommit は非推奨です。onCommit で onPrecommit の動作がサポートされるようになりました。
onCommit と onActive は、次の Choreographer フレームの開始時点ではなく、構成要素の変更が commit された同じ Choreographer フレームで実行されるようになりました。(I70403)
バージョン 1.0.0-alpha01
2020 年 8 月 26 日
androidx.compose.animation:animation:1.0.0-alpha01
と androidx.compose.animation:animation-core:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
バージョン 0.1.0-dev
バージョン 0.1.0-dev17
2020 年 8 月 19 日
androidx.compose.animation:animation:0.1.0-dev17
と androidx.compose.animation:animation-core:0.1.0-dev17
がリリースされました。バージョン 0.1.0-dev17 に含まれる commit については、こちらをご覧ください。
新機能
API の変更
- オフセットがインライン クラスになりました。(Iaec70)
- IntOffset がインライン クラスになりました。(Iac0bf)
- IntSize がインライン クラスになりました。(I2bf42)
AnimatedVisibilty composable は、子コンテンツの表示と非表示をアニメーション化します。
AnimatedVisibilty composable と連携して 3 種類の表示と非表示のアニメーション(コンテンツのフェード、スライド、拡大 / 縮小)を提供するため、EnterTransition と ExitTransition が導入されました。さまざまな種類のアニメーションを組み合わせて、より特別なデザインを実現できます。(Idda11)
PxBounds を非推奨にし、Rect に置き換えました。PxBounds のすべての使用を更新して Rect に置き換え、移行に役立つ適切な非推奨およびアノテーションへの置き換えを追加しました。(I37038、b/162627058)
バグの修正
PlacementScope.placeAbsolute()
の名前がPlacementScope.place()
に変更され、以前のPlacementScope.place()
の名前がPlacementScope.placeRelative()
に変更されました。その結果、PlacementScope.place()
メソッドは、右から左(RTL)へのコンテキストで、自動的に位置をミラーリングしなくなります。必要な場合は、代わりにPlacementScope.placeRelative()
を使用してください。(I873ac、b/162916675)- 明確化のため、
state { ... }
コンポーザブルを非推奨にし、remember { mutableStateOf(...) }
の明示的な呼び出しに置き換えました。これにより、状態管理の API サーフェス全般とコンセプトの数が縮小され、クラス プロパティ委任のby mutableStateOf()
パターンと一致するようになります。(Ia5727)
バージョン 0.1.0-dev16
2020 年 8 月 5 日
androidx.compose.animation:animation:0.1.0-dev16
と androidx.compose.animation:animation-core:0.1.0-dev16
がリリースされました。バージョン 0.1.0-dev16 に含まれる commit については、こちらをご覧ください。
API の変更
- 組み込みの単位を変換するための組み込みのベクター コンバーターに
Foo.VectorConverter
を介してアクセスできるようになりました。例:Dp.VectorConverter
、Color.VectorConverter
、Float.VectorConverter
など。(I3e273) - サイズ変更アニメーションが終了するとき、アニメーションの開始 / 終了サイズとともにリスナーに通知されるように、
Modifier.animateContentSize()
で終了リスナーがサポートされます。(I277b2) - 子修飾子のレイアウト サイズの変化をアニメーション化する新しい animateContentSize 修飾子。(Ieffdc)
MonotonicFrameAnimationClock
を追加して、MonotonicFrameClock をAnimationClockObservable
として使用できるようにしました。これにより、新しいコルーチン ベースのクロックと、従来のコールバック ベースのクロックを使用している API とのギャップが解消されました。ManualAnimationClock
に相当するMonotonicFrameClock
はManualFrameClock
になりました。(I111c7、b/161247083)
バグの修正
- 右から左(RTL)をサポートする API が更新されました。レイアウト方向の読み取りと変更に使用できる LayoutDirectionAmbient が追加されました。Modifier.rtl と Modifier.ltr が削除されました。(I080b3)
- transitionDefinition にはタイプ T を明示的に指定する必要があります。(I1aded)
- foundation.shape.corner パッケージが foundation.share にフラット化されました。(I46491、b/161887429)
- Modifier.plus が非推奨になりました。代わりに Modifier.then を使用してください。then により、順序が明確化され、
Modifier.padding().background() + anotherModifier
と書いてチェーンを分断し可読性を下げることが防止されます。(Iedd58、b/161529964) - Modifier.drawBackground の名前が Modifier.background に変更されました。(I13677)
バージョン 0.1.0-dev15
2020 年 7 月 22 日
androidx.compose.animation:animation:0.1.0-dev15
と androidx.compose.animation:animation-core:0.1.0-dev15
がリリースされました。バージョン 0.1.0-dev15 に含まれる commit については、こちらをご覧ください。
依存関係の更新
0.1.0-dev15
バージョンの Compose を使用するには、上記の依存関係の宣言で示されている新しいコード スニペットに従って、依存関係を更新する必要があります。
API の変更
- Transition API が変更され、子に TransitionState を渡すのでなく、TransitionState を返すようになりました。これにより、この API と animate() API の一貫性が向上します。(I24e38)
- クロスフェード用の修飾子パラメータが追加されました。(I87cfe、b/159706180)
- 静的アニメーション仕様のコンセプトを明確化するため、最上位レベルの API で AnimationBuilder ではなく AnimationSpec を使用するようになりました。
- tween や spring などの AnimationSpec の作成に関するラムダ要件を削除することにより、遷移 DSL を改善しました。代わりに、それらはコンストラクタのパラメータを直接受け取ります。
- AnimationSpec の使いやすさを全面的に改善し、ビルダーに依存するのではなくコンストラクタを利用するようにしました。
- KeyFrames と Tween の期間と遅延を Int に変更しました。これにより、(Long と Int の両方をサポートするための)不要な型キャストとメソッドのオーバーロードがなくなります。(Ica0b4)
- IntPx の使用を Int に置き換えました。IntPxPosition を IntOffset に置き換えました。IntPxSize を IntSize に置き換えました。(Ib7b44)
- サイズ設定情報を示す際に使用するクラスの数を整理統合するため、PxSize ではなく Size クラスの使用を標準化しました。これにより、インライン クラスは long 値を利用して、float 値で表される幅と高さを示す 2 つの float 値をパックできるようになります。(Ic0191)
- 位置情報を示す際に使用するクラスの数を整理統合するため、PxPosition ではなく Offset クラスの使用を標準化しました。これにより、インライン クラスは long 値を利用して、float 値で表される x オフセットと y オフセットを示す 2 つの float 値をパックできるようになります。(I3ad98)
- ピクセル パラメータに関して Dp とプリミティブ型だけに依存するように大規模なリファクタリングを行う一環として、各種の compose クラス内で Px クラスを使用しないように変更しました。(I086f4)
- Dp、Px、Size、Position、Bounds、PxPosition、PxSize、PxBounds、IntPx、IntPxSize、IntPxPosition、IntPxBounds、AnimationVector に対する animate() のサポートを追加しました。(Ib7518)
- クロスフェードでオプションの AnimationBuilder パラメータを使用して、アニメーションを構成できるようになりました。(I6d6e0)
- API 内のすべての null 値許容型の Color が null 値非許容型に置き換えられ、null の代わりに Color.Unset が使用されるようになりました。(Iabaa7)
- ValueHolder クラスを削除しました。サブクラスで値の更新を監視できるよう、アニメーション値のフィールドを抽象化するために、AnimatedValue クラスと AnimatedFloat クラスを再構成しました。
- AnimatedValue、AnimatedFloat などで使用するモデルクラスを追加しました。
- 値を更新する間にアニメーションを表示するための、軽量の新しい @Composable API セットを追加しました。(I79530)
- アンビエント API を大幅に変更しました。詳細については、ログと
Ambient<T>
のドキュメントをご覧ください。(I4c7ee、b/143769776) - 新しいリピートモード(リバース)が追加されました。このモードでは、RepeatableSpec または VectorizedRepeatableSpec でアニメーションが繰り返されると、前回の繰り返しが逆再生されます。(Ibe0f5)
- ManualAnimationClock への API の追加:
hasObservers: Boolean
とコンストラクタ パラメータdispatchOnSubscribe: Boolean
。(Iaa134) - AnimatedFloat で最小 / 最大境界を取得するための API が追加されました。(Icd9cc)
バグの修正
runOnIdleCompose
の名前がrunOnIdle
に変更されました。(I83607)- いくつかのテスト API の名前がより直感的にわかりやすいものになりました。findXYZ API という名前はすべて onNodeXYZ に変更されました。doXYZ API という名前はすべて performXYZ に変更されました。(I7f164)
- 低レベルのステートレス アニメーション API が導入されました。(I63bf7)
- Recompose composable は、有用な抽象化ではなくなりました。ほとんどの場合、再コンポーズは、MutableState 割り当ての結果として生じます。それ以外の場合は、
invalidate
関数を使用して、現在のスコープの再コンポーズをトリガーすることをおすすめします。(Ifc992) - ピクセル パラメータに関して Dp とプリミティブ型だけに依存するように大規模なリファクタリングを行う一環として、各種の compose クラス内で Px クラスを使用しないように変更しました。Px クラス全体が削除されています。(I3ff33)
- ピクセル パラメータに関して Dp とプリミティブ型だけに依存するように大規模なリファクタリングを行う一環として、各種の compose クラス内で Px クラスを使用しないように変更しました。(Id3434)
- クロスフェードの初期値として null を使用できるようになりました。(Iad6a4、b/155947711)
- ピクセル パラメータに関して Dp とプリミティブ型だけに依存するように大規模なリファクタリングを行う一環として、各種の compose クラス内で Px クラスを使用しないように変更しました。(I19d02)
- CanvasScope の実装を整理統合し、DrawScope と ContentDrawScope のみとしました。CanvasScope の名前を DrawScope に変更しました。DrawScope を更新して Density インターフェースを実装し、LayoutDirection を提供しました。ContentDrawScope の DrawScope サブクラスを削除しました。Painter と PainterModifier が更新され、RTL プロパティを自身で維持しなくなりました。これは DrawScope ですでに提供されているため、手動で提供する必要はありません。(I1798e)
- キャンバスを公開するハイレベルの Compose API を更新して、代わりに CanvasScope を公開するようにしました。これにより、ユーザーが独自の Paint オブジェクトを維持管理する必要がなくなります。引き続きキャンバスの利用が必要なユーザーは、drawCanvas 拡張メソッドを使用できます。このメソッドにより、対象のキャンバスに対して Draw コマンドを実行するコールバックが行われます。(I80afd)
- verticalGravity パラメータと horizontalGravity パラメータをそれぞれ Row と Column に追加しました。(I7dc5a)
- ui-text モジュールの名前が ui-text-core に変更されました。(I57dec)
- DrawModifier API の改善:
- draw() のレシーバ スコープを ContentDrawScope にしました。
- draw() のパラメータをすべて削除しました。
- DrawScope に以前の CanvasScope と同じインターフェースを設定しました。
- ContentDrawScope に drawContent() メソッドを追加しました。(Ibaced、b/152919067)
runOnIdleCompose
とrunOnUiThread
が ComposeTestRule のメソッドではなくグローバル関数になりました。(Icbe8f)- [Mutable] State プロパティ デリゲート演算子が、Kotlin 1.4 のプロパティ デリゲート最適化に対応するため、拡張機能に移動されました。
by state { ... }
またはby mutableStateOf(...)
を引き続き使用するには、呼び出し元でインポートを追加する必要があります。(I5312c) - ColoredRect が非推奨になりました。代わりに
Box(Modifier.preferredSize(width, height).drawBackground(color))
を使用してください。(I499fa、b/152753731) - 修飾子と演算子を工場出荷時の拡張機能に置き換えました。(I225e4)
- Center composable は非推奨になりました。LayoutSize.Fill + LayoutAlign.Center 修飾子に置き換えるか、適切な修飾子が適用された Box composable または Stack composable に置き換える必要があります。(Idf5e0)
- LayoutFlexible の名前を LayoutWeight に変更しました。このパラメータを補うために tight パラメータの名前を変更しました。(If4738)
- コンポーズ可能な関数 Opacity が drawOpaity 修飾子に置き換えられました。(I5fb62)
- AndroidComposeTestRule を使用するテストでは、構成のルートにアニメーション クロックが提供され、手動での一時停止、再開、詳細設定が可能になりました。(Id54c5)
- LayoutPadding 修飾子で右から左方向をサポートするようになりました。(I9e8da)
- Density と DensityScope が 1 つのインターフェースに統合されました。ambientDensity() ではなく、DensityAmbient.current を使用できるようになりました。withDensity(density) ではなく、with(density) だけになりました。(I11cb1)
- 以下のさまざまなインライン クラスタイプにコピーメソッドを追加しました。
- Offset
- Size
- Radius
- Motion
- TransformOrigin
- Size.copy コンパニオン オブジェクト メソッドを非推奨にし、インスタンス コピーメソッドに置き換えました。(Ife290、b/159905651)
- androidx.compose.ViewComposer が androidx.ui.node.UiComposer に移動され、androidx.compose.Emittable が削除されました。これは ComponentNode と重複していました。androidx.compose.ViewAdapters が削除されました。サポート対象のユースケースではなくなりました。Compose.composeInto が非推奨になりました。代わりに
setContent
またはsetViewContent
を使用してください。Compose.disposeComposition が非推奨になりました。代わりに、setContent
が返すComposition
のdispose
メソッドを使用してください。androidx.compose.Compose.subcomposeInto は androidx.ui.core.subcomposeInto に移動されました。ComponentNode#emitInsertAt の名前が ComponentNode#insertAt に変更されました。ComponentNode#emitRemoveAt の名前が ComponentNode#removeAt に変更されました。ComponentNode#emitMode の名前が ComponentNode#move に変更されました。(Idef00)