Jetpack Compose

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

Sara

はじめに

前回はレイアウト(Column と Row)を使ってテキストをタテ・ヨコに並べました。

今回はレイアウト内のテキストの配置を決めるパラメータを紹介します。

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

開始コード

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

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

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Column {
        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 = 240, heightDp = 240)
@Composable
fun GreetingPreview() {
    MyApplicationTheme {
        Greeting("Android")
    }
}

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

VerticalArrangement:垂直方向の配置

中央に配置する

Column はレイアウト内の要素をタテ方向に並べるレイアウトでした。

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

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

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

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

いろいろな値

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

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

HorizontalAlignment:水平方向の配置

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

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

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

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

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

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

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

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

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

次に行うこと

次回は同じように Row レイアウトの配置について紹介します。

第7回「Row レイアウト内の配置」に進む

講座の最新情報はこちら

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をコピーしました