6 月 3 日の「#Android11: The Beta Launch Show」にぜひご参加ください。

Compose

最新の更新 現在のリリース
2020 年 4 月 29 日 0.1.0-dev010

依存関係の宣言

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

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

dependencies {
    implementation "androidx.compose:compose-runtime:0.1.0-dev10"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerVersion "1.3.70-dev-withExperimentalGoogleExtensions-20200424"
        kotlinCompilerExtensionVersion "0.1.0-dev10"
    }
}

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

フィードバック

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

新しい問題を報告する

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

バージョン 0.1.0-dev

バージョン 0.1.0-dev10

2020 年 4 月 29 日

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

新機能

  • 新しいバージョンの Kotlin コンパイラの IR バックエンドをベースに再構築されたことにより、以前 IR バックエンドで動作しなかった多くの機能(コンポーズ可能でないコルーチンなど)が動作するようになりました。これは、暗号のように不可解な「バックエンド内部エラー」メッセージを目にすることが少なくなり、苦労してコードを IR モジュールと非 IR モジュールに分ける必要がなくなったことを意味します。ただし、IR バックエンドはまだ試験運用版であり、バグも(かなり減ったとはいえ)まだいくつか残っています。試すことはできますが、未完成であることに留意してください。

バージョン 0.1.0-dev09

2020 年 4 月 15 日

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

API の変更

  • [Mutable]State プロパティ デリゲート演算子が、Kotlin 1.4 のプロパティ デリゲート最適化に対応するため、拡張機能に移動されました。by state { ... } または by mutableStateOf(...) を引き続き使用するには、呼び出し元でインポートを追加する必要があります。(I5312c

バグの修正

  • Alignment ではなく垂直方向または水平方向の Alignment を受け入れるように、wrapContentWidthwrapContentHeight を更新しました。垂直方向または水平方向の Alignment を受け入れるように、重力修飾子を更新しました。カスタムの連続 Alignment をサポートすることを目的として RowColumnStack を更新しました。(Ib0728
  • ui-text モジュールの名前を ui-text-core に変更しました(I57dec
  • DrawModifier API を改良しました(Ibacedb/152919067
    • draw() ContentDrawScope のレシーバ スコープを作成しました
    • draw() のすべてのパラメータを削除しました
    • DrawScope のインターフェースは以前の CanvasScope と同じです
    • ContentDrawScopedrawContent() メソッドが追加されました
  • ColoredRect が非推奨になりました。代わりに Box(Modifier.preferredSize(width, height).drawBackground(color)) を使用してください。(I499fab/152753731

バージョン 0.1.0-dev08

2020 年 4 月 1 日

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

バグの修正

  • 修飾子と演算子を工場出荷時の拡張機能に置き換えました(I225e4
  • RowScope と ColumnScope のメンバーに、行と列の外部からアクセスできるようになりました。(I3a641

バージョン 0.1.0-dev07

2020 年 3 月 18 日

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

API の変更

  • androidx.compose.ViewComposerandroidx.ui.node.UiComposer に移動しました。(Idef00
  • androidx.compose.Emittable を削除しました。ComponentNode と重複していました。(Idef00
  • androidx.compos.ViewAdapters を削除しました。サポート対象のユースケースではなくなりました。(Idef00
  • Compose.composeInto のサポートが終了しました。代わりに setContent または setViewContent を使用してください。(Idef00
  • Compose.disposeComposition のサポートが終了しました。代わりに、setContent によって返される Compositiondispose メソッドを使用してください。(Idef00
  • androidx.compose.Compose.subcomposeIntoandroidx.ui.core.subcomposeInto に移動しました。(Idef00
  • ComponentNode#emitInsertAt の名前を ComponentNode#insertAt に変更しました。(Idef00
  • ComponentNode#emitRemoveAt の名前を ComponentNode#removeAt に変更しました。(Idef00
  • ComponentNode#emitMode の名前を ComponentNode#move に変更しました。(Idef00

バグの修正

  • LayoutFlexible の名前を LayoutWeight に変更しました。このパラメータを補うために tight パラメータの名前を変更しました。(If4738
  • WithConstraint に LayoutDirection パラメータが追加されました(I6d6f7

バージョン 0.1.0-dev06

2020 年 3 月 4 日

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

新機能

  • ComposeFlags.COMPOSER_PARAM フラグを true に更新しました。これにより、compose プラグインのコード生成方法が変更されます。概略としては、追加の合成パラメータで生成された @Composable 関数が後続の @Composable の呼び出しに渡され、ランタイムで実行が適切に管理されるようになります。これはバイナリの重大な変更ですが、compose の許可されているすべての使用方法でソースレベルの互換性が保持されます。(aosp/1226314

バージョン 0.1.0-dev05

2020 年 2 月 19 日

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

API の変更

  • アンビエント API を大幅に変更しました。詳細については、ログと Ambient<T> のドキュメントをご覧ください(I4c7eeb/143769776

バグの修正

  • ButtonStyle を別の関数に置き換え、テキスト(文字列)オーバーロードを削除しました。使用方法については、更新済みのサンプルをご覧ください。(If63abb/146478620b/146482131

バージョン 0.1.0-dev04

2020 年 1 月 29 日

androidx.compose:compose-compiler:0.1.0-dev04androidx.compose:compose-runtime:0.1.0-dev04 がリリースされました。このバージョンに含まれるコミットについては、こちらをご覧ください。

API の変更

  • areEquivalent コールバックが MutableState に追加されました(Ic2ef8
  • コンポーネントとリファクタリングの最上位の Composition API が削除されました(I1f22e
  • コンポーザー パラメータでコンポーズ可能な呼び出しを変換(I1691e
  • Composition クラスを削除して Composer 基本クラスに置き換え(Ieadbf
  • State<T>MutableState<T> を安定したタイプとしてマーク(b/146557624
  • currentComposerIntrinsic と、適切なパラメータの受け渡しのテストを追加(I133f0
  • ModelObserver がシングルスレッド化されました(Ica33d
  • コンポーズ可能なインライン呼び出しに関連するグループを適切に生成(Ibf739
  • 使用されていない EffectsDsl アノテーションを削除(Ibe81d
  • @Stable アノテーションが追加され、修飾子が安定しているものとしてマークされました(Iacba7
  • MutableState API、State API、mutableStateOf API が導入されました(I98291
  • @Composable への影響がリファクタリングされました(Ie2686
  • ObserverMapModelObserver のパフォーマンスが改善されました(Ieb9b6
  • 読み取り監視が変更され、ComponentNode 以外を監視できるようになりました(Ia4d93