Constraintlayout

相対位置を使用して、ウィジェットの位置とサイズを柔軟に調整します。

androidx.constraintlayout グループ内のすべてのアーティファクトのリストを以下に示します。

アーティファクト 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
constraintlayout 2.1.4 - - 2.2.0-alpha07
constraintlayout-compose 1.0.1 - - 1.1.0-alpha07
constraintlayout-core 1.0.4 - - 1.1.0-alpha07

依存関係の宣言

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

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

Groovy

dependencies {
    implementation "androidx.constraintlayout:constraintlayout:2.2.0-alpha07"
    // To use constraintlayout in compose
    implementation "androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07"
}

Kotlin

dependencies {
    implementation("androidx.constraintlayout:constraintlayout:2.2.0-alpha07")
    // To use constraintlayout in compose
    implementation("androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07")
}

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

フィードバック

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

新しい問題を報告する

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

ConstraintLayout-compose、ConstraintLayout-Core 1.1

バージョン 1.1.0-alpha07

2023 年 2 月 8 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07 がリリースされました。バージョン 1.1.0-alpha07 に含まれる commit については、こちらをご覧ください。

新機能

  • DSL を使用して Compose のグリッド ヘルパーを有効にする新しい API を追加しました。(I1143b

バグの修正

  • 指定された maxElement パラメータに合わせて Flow の Wrap.Chain が正しくレイアウトされない問題を修正しました。(e1f2ed3
  • MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String) を介して Transition を変更する際に start ConstraintSet が更新されない問題を修正しました。(17ffff1
  • ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit) を介して制約を継承する際に ConstraintSet に一部の変更が反映されない問題を修正しました。(740804b

バージョン 1.1.0-alpha06

2023 年 1 月 25 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06 がリリースされました。バージョン 1.1.0-alpha06 に含まれる commit については、こちらをご覧ください

新機能

  • JSON 表現を使用して Compose のグリッド ヘルパーを有効にし、コンポーザブルを 2D グリッドに配置できるようにする新しい API を追加しました。(I968ad

API の変更

  • 円弧上モードと円弧下モード Arc.AboveArc.Below という方向に依存しない円弧モードのサポートを MotionLayout に追加しました。(I184a9
  • ベースライン アンカーを上部 / 下部のアンカーに制約する(および上部 / 下部のアンカーをベースライン アンカーに制約する)ことができるようになりました。(I54628
  • MotionLayoutScope#motionProperties(派生物を含む)の名前を MotionLayoutScope#customProperties に変更しました。この変更は、カスタム プロパティを設定する場合と整合性を取ることを目的としています。(Ib34c9
  • ConstraintSetMotionScene で複数の参照(val (box, text, button) = createRefsFor("box", "text","button"))を作成できるようになりました。constrain(box, button, text) を使って複数の要素に制約を適用します。ConstrainScope 内で、Dp.asDimension を使って固定ディメンション(width = 10.dp.asDimension)を直感的に設定することもできるようになります。(I021ecIa0960
  • MotionScene() メソッドと Transition() メソッドがコンポーズ可能ではない関数になりました。これらの関数のオブジェクト(ConstraintSet など)は相互から正しく比較できるようになります。ConstraintLayoutanimateChanges = true は、そのプロパティのいずれかが再コンポジションで変更されていれば、1 つの ConstraintSet 参照のみで使用できるようになりました。(I7d22e

バグの修正

  • ヘルパーが変更されたときに ConstraintLayout が不必要に余分な再コンポジションを常にトリガーする問題を修正しました。(Id83adb/222093277
  • ConstraintLayoutMotionLayout で組み込みを使用する場合の動作を修正しました。(I487aeb/220527863
  • コンテンツが変更されたときに再測定できない問題を修正しました。(Ibfe8ab/219091179

バージョン 1.1.0-alpha05

2022 年 12 月 7 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05androidx.constraintlayout:constraintlayout-core:1.1.0-alpha05 がリリースされました。バージョン 1.1.0-alpha05 に含まれる commit については、こちらをご覧ください

新機能

  • DSL にカスタム KeyAttributes のサポートを追加しました(b94e748
  • ConstrainScope のバイアス プロパティが表示されるようになりました(32625d0
  • チェーンにカスタム パラメータのサポートを追加しました(72a2e9e
  • Compose に MotionLayout の Macrobenchmark テストを追加しました(36f43bc
  • Compose の以前のリリースで変更された点について詳しくは、Wiki ページをご覧ください

API の変更

  • addConstraintSet パラメータと addTransition パラメータを反転しました(152facc

バグの修正

  • 水平方向チェーンを修正しました(ed5f56e

バージョン 1.1.0-alpha01

2022 年 5 月 20 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01 がリリースされました。

MotionLayout API は試験運用版であり、オプトインが必要です。

詳細については、GitHub の Compose 1.1.0-alpha01 の新機能をご覧ください。

バージョン 2.2

バージョン 2.2.0-alpha07

2023 年 2 月 8 日

androidx.constraintlayout:constraintlayout:2.2.0-alpha07 がリリースされました。バージョン 2.2.0-alpha07 に含まれる commit については、こちらをご覧ください。

バグの修正

  • ConstraintLayout ページのコンテンツ欠落に関する問題を修正しました。(I82e25

バージョン 2.2.0-alpha05

2022 年 12 月 7 日

androidx.constraintlayout:constraintlayout:2.2.0-alpha05 がリリースされました。バージョン 2.2.0-alpha05 に含まれる commit については、こちらをご覧ください。

バグの修正

  • View Carousel のリークを修正しました(eb67b82

バージョン 2.2.0-alpha01

2022 年 5 月 20 日

androidx.constraintlayout:constraintlayout:2.2.0-alpha01 がリリースされました。

新しい Grid ヘルパーのプレビューが追加されました。

詳細については、GitHub の 2.2.0-alpha01 の新機能をご覧ください。

ConstraintLayout-compose 1.0

ConstraintLayout-compose 1.0 では、Jetpack Compose に ConstraintLayout 機能が提供されます。

バージョン 1.0.1

2022 年 5 月 20 日

androidx.constraintlayout:constraintlayout-compose:1.0.1 がリリースされました。

MotionLayout API は試験運用版であり、オプトインが必要です。

詳細については、GitHub の Compose 1.0.1 の新機能をご覧ください。

バージョン 1.0.0

2022 年 1 月 13 日

androidx.constraintlayout:constraintlayout-compose:1.0.0 がリリースされました。

MotionLayout API は試験運用版であり、オプトインが必要です。

詳細については、GitHub の 1.0 の新機能(Compose)をご覧ください。

バージョン 1.0.0-rc02

2021 年 11 月 16 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02 がリリースされました。

詳細については、GitHub の 1.0 の新機能(Compose)をご覧ください。

バージョン 1.0.0-rc01

2021 年 9 月 27 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01 がリリースされました。

このリリースは第 2 ベータ版です。フィーチャー コンプリートとみなされ、Compose に ConstraintLayoutMotionLayout を提供します。

詳細については、GitHub の 1.0 の新機能(Compose)をご覧ください。

バージョン 1.0.0-beta02

2021 年 7 月 30 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02 がリリースされました。

このリリースは第 2 ベータ版です。フィーチャー コンプリートとみなされ、Compose に ConstraintLayoutMotionLayout を提供します。

詳細については、GitHub の 1.0 の新機能(Compose)をご覧ください。

バージョン 1.0.0-beta01

2021 年 7 月 22 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01 がリリースされました。

このリリースは最初のベータ版です。フィーチャー コンプリートとみなされ、Compose に ConstraintLayoutMotionLayout を提供します。

詳細については、GitHub の 1.0 の新機能(Compose)をご覧ください。

バージョン 1.0.0-alpha07

2021 年 5 月 18 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07 がリリースされました。

  • Compose バージョン 1.0.0-beta07 との互換性を確保するための更新が行われました。

バージョン 1.0.0-alpha06

2021 年 5 月 4 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha06 がリリースされました。

  • Compose の最適化: Constraintlayout インライン コンポーザブル(#193)
  • Compose で再測定を最小限に抑える(#210)

バージョン 1.0.0-alpha05

2021 年 3 月 15 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha05 がリリースされました。

  • 最適化エンジンへの修正が含まれています(b/182657720
  • optimizationLevel パラメータを ConstraintLayout コンポーザブルに追加しました

バージョン 1.0.0-alpha04

2021 年 3 月 11 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha04 がリリースされました。

最新の constraintlayout-core エンジンを使用するように更新が行われました

バージョン 1.0.0-alpha03

2021 年 2 月 24 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha03 がリリースされました。

Jetpack Compose beta01 リリースのアップデートをリリースしました

バージョン 1.0.0-alpha02

2021 年 2 月 10 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02 がリリースされました。

Jetpack Compose alpha12 リリースのアップデートをリリースしました

バージョン 1.0.0-alpha01

2021 年 2 月 2 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01 がリリースされました。

ライブラリの最初のリリース。制約を表すためのインラインと外部 DSL を提供します。

バージョン 2.1

ConstraintLayout 2.1.0 では、MotionLayout や新しいヘルパー(カルーセルなど)の機能がさらに充実しています。

バージョン 2.1.4

2022 年 5 月 20 日

androidx.constraintlayout:constraintlayout:2.1.4 がリリースされました。

詳細については、GitHub の 2.1.4 の新機能をご覧ください。

バージョン 2.1.3

2022 年 1 月 13 日

androidx.constraintlayout:constraintlayout:2.1.3 がリリースされました。

詳細については、GitHub の 2.1 の新機能をご覧ください。

バージョン 2.1.2

2021 年 11 月 16 日

androidx.constraintlayout:constraintlayout:2.1.2 がリリースされました。

詳細については、GitHub の 2.1 の新機能をご覧ください。

バージョン 2.1.1

2021 年 9 月 27 日

androidx.constraintlayout:constraintlayout:2.1.1 がリリースされました。

これは 2.1.1 の最終リリースです。

詳細については、GitHub の 2.1 の新機能をご覧ください。

バージョン 2.1.0

2021 年 7 月 30 日

androidx.constraintlayout:constraintlayout:2.1.0 がリリースされました。

これは 2.1.0 の最終リリースです。

詳細については、GitHub の 2.1 の新機能をご覧ください。

バージョン 2.1.0-rc01

2021 年 7 月 22 日

androidx.constraintlayout:constraintlayout:2.1.0-rc01 がリリースされました。

これは 2.1.0 のリリース候補であり、最後のベータ版から軽微な改善と修正を行っています。詳細については、GitHub の 2.1 の新機能をご覧ください。

バージョン 2.1.0-beta02

2021 年 5 月 4 日

androidx.constraintlayout:constraintlayout:2.1.0-beta02 がリリースされました。

MotionLayout の新機能:

  • バネ(剛性、減衰性、質量など)や未完成を含む OnSwipe の追加機能
  • jumpToState 機能
  • Down をタップすると 100 まで再生され、Up をタップすると 0 まで巻き戻しされる ViewTransition downUp モード

以下を中心とするさまざまな修正を行いました。

  • 垂直方向のスクロールに関する MotionLayout の問題を修正(#173)
  • ネストされた MotionLayout に関するパフォーマンスの改善(#189)
  • MotionLayout での NestedScrollView による高速遷移(#189)
  • MotionLayout の ConstraintSet を削除(#189)
  • MotionLayout での downUp ViewTransition のサポート(#190)
  • ドローアブルを再利用する際の ImageFilter の修正(#192)
  • MotionLayout にバネのサポートを追加(#199)
  • CircularFlow のパフォーマンスの改善(#200)
  • 派生制約 / 制約のオーバーライドの修正(#212)

バージョン 2.1.0-beta01

2021 年 3 月 11 日

androidx.constraintlayout:constraintlayout:2.1.0-beta01 がリリースされました。

ConstraintLayout

android:layout_width と android:layout_height が、互換性の問題が原因で再び任意ではなくなりました。

MotionLayout

  • Transition での onSwipe と onClick の挿入と削除に対するプログラム サポート
  • 画面の回転による Transition の試験運用版でのサポート
  • Transitions に対する duration 引数のサポート
  • ブール値である customAttribute または Reference のサポート強化

ヘルパー

  • Carousel の特定のアイテムをアニメーション化または特定のアイテムに直接ジャンプする方法を追加しました
  • 新しい CircularFlow ヘルパー

このリリースに関する追加情報については、こちらクローズされたバグをご覧ください。

バージョン 2.1.0-alpha2

2020 年 12 月 17 日

androidx.constraintlayout:constraintlayout:2.1.0-alpha2 がリリースされました。

この第 2 アルファ版ではいくつかの新機能が追加されています。

ConstraintLayout

  • android:layout_width と android:layout_height がオプションになり、wrap_content がデフォルトの動作になりました。
  • ディメンションの制約を表現する、新しい layout_constraintWidth 属性と layout_constraintHeight 属性。
  • 制約の負のマージンをサポートします。
  • 上端からベースラインおよび下端からベースラインまでの制約をサポートします。
  • ベースライン マージンの制約をサポートします。
  • SharedValues を使用すると、外部の値を ConstraintLayout に挿入できます。

MotionLayout

  • Overshoot Interpolators(anticipate、overshot)をサポートします。
  • MotionHelper のサポートを強化しました。
  • ConstraintSet のアニメーション化のアップデートを MotionLayout updateStateAnimate(id,cset,duration); に追加しました。
  • 共有値ベースの ViewTransition。
  • scheduleTransitonTo を使用すると、遷移を待ち行列に入れて、現在の遷移の完了時に実行することができます。

ヘルパー

  • カルーセルで無限(ラップアラウンド)モードがサポートされるようになりました。
  • ReactiveGuide: SharedValue 変更時の自動配置のガイドライン。
  • MotionEffect: 特定の方向に動く参照ビューに Keyframe を挿入します。
  • MotionLabel - 1 行のテキストをアニメーション化するためのビュー。

このリリースに関する追加情報についてはこちらをご覧ください。

バージョン 2.1.0-alpha1

2020 年 11 月 19 日

androidx.constraintlayout:constraintlayout:2.1.0-alpha1 がリリースされました。

2.1 リリースの最初のアルファ版。次の機能のサポートが導入されています。

  • カスタム カルーセル ビューを構築するためのカルーセル モーション ヘルパー。
  • MotionLayout シーンは、インクルードと制約のオーバーライドをサポートします。
  • MotionLayout により、さらに充実した回転(入力と出力)のサポートが追加されます。
  • MotionLayout により ViewTransition が追加され、制約セットのミューテーションのための単一ビュー遷移が可能になります。

このリリースに関する追加情報についてはこちらをご覧ください。

バージョン 2.0

ConstraintLayout 2.0 には、仮想レイアウトなどの新しいレイアウト機能と、ビューのアニメーションを簡単に作成できる新しい MotionLayout クラスが追加されています。

バージョン 2.0.4

2020 年 10 月 29 日

androidx.constraintlayout:constraintlayout:2.0.4 がリリースされました。

バグの修正

このリリースでは、実行時に子ビューを削除した場合に発生する可能性のある NPE が修正されています。このバージョンに更新することをおすすめします。

クローズされた問題のリストは、こちらをご覧ください。

バージョン 2.0.3

2020 年 10 月 27 日

androidx.constraintlayout:constraintlayout:2.0.3 がリリースされました。

バグの修正

今回のリリースではいくつかの問題の修正を行いました。このバージョンに更新することをおすすめします。

  • Windows インセットの処理
  • 特定の状況におけるアスペクト比の処理
  • 一部の RTL レイアウトでのクラッシュ

クローズされた問題のリストは、こちらをご覧ください。

バージョン 2.0.2

2020 年 10 月 6 日

androidx.constraintlayout:constraintlayout:2.0.2 がリリースされました。

バグの修正

今回のリリースでは、パフォーマンスの改善といくつかの問題の修正を行いました。このバージョンに更新することをおすすめします。

  • 状況によっては、ConstraintLayout で view GONE の可視状態の処理が正しく行われない問題を修正
  • 状況によっては、ConstraintLayout でパッケージ化されたチェーンの処理が正しく行われない問題を修正
  • Flow の仮想レイアウト ヘルパーに対する API 15 のインフレーションの例外を修正
  • MotionLayout の limitsBoundsTo が破損していた問題を修正
  • 特定の状況(遷移のチェーン作成)で MotionLayout の jumpToEnd が破損していた問題を修正

クローズされた問題のリストは、こちらをご覧ください。

バージョン 2.0.1

2020 年 8 月 25 日

androidx.constraintlayout:constraintlayout:2.0.1 がリリースされました。

Android Studio で MotionEditor を使用できるようにするためのマイナー アップデートです。

バージョン 2.0.0

2020 年 8 月 21 日

androidx.constraintlayout:constraintlayout:2.0.0 がリリースされました。

バグの修正

クローズされた問題のリストは、こちらをご覧ください。

重要な修正:

  • MotionLayout Transition の遅延と TransitionListener の修正
  • ConstraintLayout のフローとバリアの修正

バージョン 2.0.0-rc1

2020 年 7 月 29 日

androidx.constraintlayout:constraintlayout:2.0.0-rc1 がリリースされました。

バグの修正

クローズされた問題のリストは、こちらをご覧ください。

重要な修正:

  • フローの修正
  • RecyclerView の修正(recyclerview 1.2.0 alpha 5 以降へのアップデートをおすすめします)
  • MotionLayout TransitionListener の修正
  • MotionLayout のメモリリークの修正

バージョン 2.0.0-beta8

2020 年 7 月 7 日

androidx.constraintlayout:constraintlayout:2.0.0-beta8 がリリースされました。

バグの修正

クローズされた問題のリストは、こちらをご覧ください。

重要な修正:

  • プレースホルダの動作
  • レイヤの表示と非表示
  • フロー、バリアの修正
  • TransitionListener の修正

バージョン 2.0.0-beta7

2020 年 6 月 12 日

androidx.constraintlayout:constraintlayout:2.0.0-beta7 がリリースされました。

バグの修正

クローズされた問題のリストは、こちらをご覧ください。

重要な修正:

  • MotionLayout でのスクロール ビューのネストの問題
  • MotionLayout での遷移リスナーの問題
  • MotionLayout でのメモリリーク
  • RecyclerView の問題
  • グループの公開設定
  • パディングの問題

バージョン 2.0.0-beta6

2020 年 5 月 13 日

androidx.constraintlayout:constraintlayout:2.0.0-beta6 がリリースされました。

バグの修正

クローズされた問題のリストは、こちらをご覧ください。重要な修正は、MotionLayout でのグループ可視性の処理と派生制約の問題です。

バージョン 2.0.0-beta5

2020 年 5 月 7 日

androidx.constraintlayout:constraintlayout:2.0.0-beta5 がリリースされました。

バグの修正

クローズされた問題のリストは、こちらをご覧ください。

バージョン 2.0.0-beta4

2019 年 12 月 16 日

androidx.constraintlayout:constraintlayout:2.0.0-beta4 がリリースされました。

新機能

MotionLayout

Transition の新しい属性:

  • layoutDuringTransition: MotionLayout が遷移中に子の requestLayouts 呼び出しに対してどのように対応するかを設定できます。指定可能な値は {ignoreRequest、honorRequest} です。
  • pathMotionArc: 移動する要素がたどる軌跡に円弧を使用します。指定可能な値は {startVertical | startHorizontal | flip | none} です。

ConstraintSets の開始と終了を省略するだけで、デフォルトの遷移を定義できるようになりました。現在の開始または終了の状態に一致する既存の遷移が他にない場合は、デフォルトの遷移が使用されます。

バグの修正

クローズされた問題のリストは、こちらをご覧ください。