Jetpack Compose

【Android】Jetpack Compose 入門講座 第5回「テキストを並べる」

Sara

はじめに

ここまでは1つのテキストしかありませんでしたが、アプリ画面には複数のテキストや画像、ボタンが並ぶのが通常です。

まずは2つのテキストを並べてみましょう。

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

テキストを追加する

まずは Text を1つ追加します。現在 Hello Android! となっている箇所も Hello だけに変更します。

4行目のコードを変更して、7〜9行目のコードを追加します。

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

プレビューを確認すると「こんにちは」が左上に配置されました。

何も設定をしていないと、このように左上に揃えて UI が配置されていきます。

2つのテキストが重ないように修正してみましょう。

レイアウトを使う

UI を並べるにはレイアウトを使います。

レイアウトには大きく3種類あって、Column はタテ並び、Row はヨコ並び、Box は UI を重ねるときに使います。

Column:タテに並べる

まずは Column を使ってテキストをタテに並べてみましょう。

Text 関数を使っている39〜46行目のコードを選択した状態にすると黄色い豆電球のマークが出てくるのでクリック、Surround with widget を選択します。

Surround with Column を選択します。

2つの Text が Column で囲まれてタテ並びになりました。

Column:ヨコに並べる

Column を Row に変更して横並びにしてみましょう。(3行目)

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

テキストが横並びになりました。

Box:重ねる

次は Box に変更してみましょう。(3行目)

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Box {
        Text(
            text = "Hello",
            /* 省略 */

今度はテキストが重ねて配置されました。

Box を使わなくてもテキストは重なって配置されますが、Box で囲んでセクション分けすることで画像の上にテキストを重ねるデザインなどに役立ちます。

まとめ

このように3つのレイアウトを使ってアプリ画面を作成していきます。

次に行うこと

今回使ったレイアウトにも、色々な設定ができるパラメータが用意されています。

次回からはレイアウト内の UI の水平方向・垂直方向の配置を指定するパラメータを紹介します。

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

講座の最新情報はこちら

guest
0 Comments
古い順
新しい順 人気順
ABOUT ME
Sara
Sara
運営者
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
>> 詳しいプロフィールはこちら

主な使用言語:Kotlin / Swift / Java / PHP
その他運営サイト:請求書作成ツール
0
この記事にコメントするx
記事URLをコピーしました