【Jetpack Compose】Column・Row・Boxでのレイアウト実装方法と違い!

この記事からわかること
- Kotlin/Android Jetpack Composeの使い方
- Column・Row・Boxでのレイアウト実装方法と違い
\ アプリをリリースしました /
環境
- Android Studio:Koala
- Kotlin:1.9.0
Jetpack Compose自体の基本的な使用方法に関しては以下の記事を参考にしてください。
Jetpack Composeにおけるレイアウト実装
Jetpack ComposeではUIコンポーネント(Composable関数)のレイアウト実装を制御するためのComposable関数が用意されています。代表的なものにColumn
、Row
、Box
という3つのComposable関数があります。公式の解説画像がわかりやすいので引用しておきましたが、それぞれ以下のようなレイアウトでの実装が簡単に行えるようになります。

実際にそれぞれの実装方法をまとめていきたいと思います。
Column
Column
はUIコンポーネントを縦に並べて配置することができるレイアウトコンテナです。ブロックの中には複数のComposable関数を配置することが可能です。

定義
- modifier・・・任意の修飾
- verticalArrangement・・・縦方向の配置
- horizontalAlignment・・・横方向の配置
- content・・・レイアウト対象のUI
要素間に余白を設ける
要素間に余白を設けたい場合はverticalArrangement
にArrangement.spacedBy(XX.dp)
を指定します。

Row
Row
はUIコンポーネントを横に並べて配置することができるレイアウトコンテナです。

定義
- modifier・・・任意の修飾
- horizontalArrangement・・・横方向の配置
- verticalAlignment・・・縦方向の配置
- content・・・レイアウト対象のUI
Box
Box
はUIコンポーネントを重ねて配置することができるレイアウトコンテナです。子要素の位置は子要素に対してModifier.align(Alignment.TopStart)
などを指定することで制御することができます。

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。