Column、Row、Box
一般的なレイアウトにComposableを配置します
「Column、Row、Box」はCoddyKit上の無料Android Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAndroid Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Android Academyコースには全4レッスンが含まれています。
Composable の配置
Composable を互いに相対的に配置するために、Compose には基本的なレイアウト用 Composable が 3 つあります。Column、Row、Box です。
Column:縦方向の積み重ね
Column は子要素を上から下へ縦方向に積み重ねます。
Column {
Text("First")
Text("Second")
Text("Third")
}Row:横方向の積み重ね
Row は子要素を左から右へ横並びに配置します。
Row {
Text("Left")
Text("Middle")
Text("Right")
}Box:重ね合わせ
Box はレイヤーのように、子要素を互いに重ねて配置します。後から配置した子要素が、先に配置した子要素の上に描画されます。バッジ、オーバーレイ、背景などに便利です。
Box {
Image(
painter = painterResource(R.drawable.photo),
contentDescription = null
)
Text("Caption")
}子要素は Content Lambda
各レイアウトは末尾に content lambda を受け取ります。その中で呼び出した Composable がすべて子要素になります。XML はなく、子要素は単なる関数呼び出しです。
レイアウトのネスト
レイアウトは自由にネストできます。Column の中に Row を配置すると、グリッドのような構造や行のリストを作成できます。
Column {
Row {
Text("A")
Text("B")
}
Row {
Text("C")
Text("D")
}
}Column と LinearLayout の比較
XML を使った経験がある場合、Column は縦方向の LinearLayout、Row は横方向の LinearLayout に相当します。Box は簡易的な FrameLayout に相当します。
デフォルトのサイズ
デフォルトでは、レイアウトのサイズは子要素に合わせた大きさになります(wrap content)。Modifier.fillMaxSize() などの Modifier を使うと、利用可能な領域全体に広げられます。詳しくは次のレッスンで説明します。
Box の contentAlignment
Box では contentAlignment を使って、すべての子要素を揃えられます。たとえば、すべてを中央に配置できます。
Box(contentAlignment = Alignment.Center) {
Text("Centered")
}適切なレイアウトの選択
方向に応じて選びます。縦方向には Column、横方向には Row、重ね合わせや 1 つの子要素の中央配置には Box を使います。ほとんどの画面では、この 3 つを組み合わせます。
まとめ
3 つすべてを使った小さなプロフィールレイアウトです。
@Composable
fun Profile() {
Column {
Box(contentAlignment = Alignment.Center) {
Image(
painter = painterResource(R.drawable.avatar),
contentDescription = null
)
}
Row {
Text("Posts ")
Text("Followers")
}
}
}クイックチェック
子要素を互いに重ねて配置するレイアウトはどれですか?
まとめ
基本的なレイアウトは 3 つです。
Column— 縦方向の積み重ねRow— 横方向の積み重ねBox— 重なり合うレイヤー。contentAlignmentでコンテンツを中央揃えにできます。
これらを自由にネストして、あらゆる画面を構築できます。
よくある質問
「Column、Row、Box」レッスンは無料ですか?
はい。「Column、Row、Box」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Android Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Android Academyコースには全4レッスンが含まれています。
「Column、Row、Box」で何を学びますか?
一般的なレイアウトにComposableを配置します ブラウザで直接実行するハンズオンコードでAndroid Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Android Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAndroid Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Column、Row、Box」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAndroid Academyレッスンでコードを書いて実行できますか?
はい。すべてのAndroid Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Column、Row、Box
- Modifierシステム
- 配置と整列
- LazyColumnによるリスト