Jetpack Compose

【Android】Jetpack Compose 入門講座 第7回「Rowレイアウト内の配置」

Sara

はじめに

前回は Column 内の UI の配置を決めるパラメータを紹介しました。

今回は Row レイアウト内の配置を決めるパラメータを設定してみましょう。

>> ここまでの記事はこちら

開始コード

以下のように、Row レイアウト内にテキストが3つある状態からスタートします。

また配置が分かりやすいようにプレビュー画面のサイズを追加しています。(25行目)

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Row {
        Text(
            text = "Hello",
            modifier = modifier
                .background(Color.Yellow)
                .padding(12.dp)
        )
        Text(
            text = "こんにちは",
            modifier = modifier
                .background(Color.Cyan)
                .padding(12.dp)
        )
        Text(
            text = "Hola",
            modifier = modifier
                .background(Color.Green)
                .padding(12.dp)
        )
    }
}

@Preview(showBackground = true, widthDp = 320, heightDp = 200)
@Composable
fun GreetingPreview() {
    MyApplicationTheme {
        Greeting("Android")
    }
}

プレビューはこのようになっています。

HorizontalArrangement:水平方向の配置

中央に配置する

Row はレイアウト内の要素をヨコ方向に並べるレイアウトでした。

今は左上を基準に並んでいるので中央(センター)になるようにパラメータを追加します。

3行目の Column の後ろに () を追加して、4行目のパラメータを追加します。

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Row(
        horizontalArrangement = Arrangement.Center
    ) {
        Text(
            text = "Hello",
            /* 省略 */

3つのテキストが水平方向中央に配置されました。

いろいろな値

Center 以外にも以下の値を使用することができます。

Arrangement.Start左揃え
Arrangement.Center中央揃え
Arrangement.End右揃え
Arrangement.SpaceAround左右に余白をつける
Arrangement.SpaceBetween均等に配置する(最初と最後の要素に余白なし)
Arrangement.SpaceEvenly均等に配置する(最初と最後の要素に余白あり)
Arrangement.spacedBy(数値.dp)余白のサイズを指定

VerticalAlignment:垂直方向の配置

垂直方向の配置は VerticalAlignment パラメータを使って決めることができます。

4行目のコードを追加します。

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Column(
        verticalAlignment = Alignment.CenterVertically
    ) {
        Text(
            text = "Hello",
            /* 省略 */

ここでは中央に配置しましたが、他にも Top / Bottom を指定できます。

水平と垂直方向を指定する

水平方向と垂直方向の両方のパラメータを使用することもできます。

4行目で水平方向は均等に、5行目で垂直方向は中央に配置しています。

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Column(
        horizontalArrangement = Arrangement.SpaceBetween,
        verticalAlignment = Alignment.CenterVertically
    ) {
        Text(
            text = "Hello",
            /* 省略 */

プレビューはこのようになります。

次に行うこと

次回からは画像を追加したアプリ画面を作ってみましょう。

第8回「画像とテキスト ①準備」に進む

講座の最新情報はこちら

Subscribe
Notify of
0 Comments
古い順
新しい順 人気順
Inline Feedbacks
View all comments
ABOUT ME
Sara
Sara
運営者
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィール
>> お問い合わせ
>> 書籍を出版しました!
本格的に学びたい方へ

Code for Fun プログラミング講座

POINT 01

動くコード

プログラミングの文法を学んでも、そこからどのようにアプリ開発ができるのかイメージが湧きにくいものです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなどアプリとして機能するものを作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

受講期限もないので、いつでも前のレッスンに戻ることができるので安心です。

お申し込みしたその日からすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました