ConstraintLayout
参考: 研修1日目
Android Studio
標準のレイアウト部品(ビューグループ)
。
ビュー(ウィジェット)
の相対的配置
を可能にするレイアウト。
RelativeLayout
は、任意のビュー
を基点とし、基点を基にした相対配置を行う。
ConstrainLayout
は、全てのビュー
を相対指定して配置を行う。
制約(Constraint)
ビュー
のx
/y
方向に存在するビュー(親ビューも指定可能)
の指定。
制約
は、x
/y
方向に対して1つ以上のビュー
を指定する。
制約の属性(attribute)
属性 | 内容 |
---|---|
app:layout_constraintTop_toTopOf |
上 方向のビュー親部品: parent それ以外: ビューの id
|
app:layout_constraintTop_toBottomOf |
上 方向のビュー親部品: parent それ以外: ビューの id
|
app:layout_constraintStart_toStartOf |
左 方向のビュー親部品: parent それ以外: ビューの id
|
app:layout_constraintEnd_toEndOf |
右 方向のビュー親部品: parent それ以外: ビューの id
|
ConstraintLayoutにおけるlayout_width/height
親ビュー
の上限サイズまで拡張する場合は、layout_width/height
属性に0dp
を指定する(=Match Constraints
)。
または、Design
モードのConstraint Widget
アイコンで変更することができる。
※ConstraintLayout
ではmatch_parent
が使用不可
3種類のlayout_width/height
アイコン(属性値) | 内容 |
---|---|
![]() |
Wrap Content ビュー の表示に必要な最小サイズ |
![]() |
Fixed 具体的なサイズ単位 |
![]() |
Match Constraints 制約 内での最大サイズ※設定値: 0dp
|
ベースライン
ビュー
間で、文字列
の位置を制約できる線。
ガイドライン
ビュー
間で、ビュー
の位置を制約できる線。
チェイン機能
互いに制約
し合う、複数のビュー
のグループ化。
チェインスタイル(chain style)
スタイル | 内容 |
---|---|
spread |
均等 配置 |
spread inside |
親レイアウト境界に対して、両端ビュー が接する均等 配置 |
packed |
各ビュー が接する配置 |
weighted |
spread /spread inside 配置のうち、Match Constraints を適用した配置 |