カテゴリ: Kotlin 更新日: 2025/11/18

KotlinでMaterial Designを使ってみよう!初心者でもわかるUIコンポーネント入門

KotlinでMaterial Designコンポーネントを使う基本
KotlinでMaterial Designコンポーネントを使う基本

先生と生徒の会話形式で理解しよう

生徒

「Androidアプリでよく見かけるオシャレなボタンや画面って、どうやって作るんですか?」

先生

「それは、Googleが推奨しているデザインルール『Material Design(マテリアルデザイン)』を使って実現できます。Androidでは、このMaterial Designを簡単に使えるコンポーネントが用意されているんですよ。」

生徒

「Kotlinでそれを使うには、どうしたらいいんですか?」

先生

「それでは、KotlinでMaterial Designコンポーネントを使う方法を、ひとつずつわかりやすく見ていきましょう。」

1. Material Designとは?

1. Material Designとは?
1. Material Designとは?

Material Design(マテリアルデザイン)とは、Googleが提唱しているユーザーインターフェースのデザインルールです。簡単に言うと、「使いやすくて見た目がキレイなボタンや画面の作り方のルール」と考えてください。

このルールに沿ってデザインされたコンポーネント(部品)を使えば、誰でもかっこいいアプリを作ることができます。

2. Material Componentsを使うための準備

2. Material Componentsを使うための準備
2. Material Componentsを使うための準備

まずは、KotlinでMaterial Designコンポーネントを使えるようにするための設定を行います。Android Studioのプロジェクトに必要なライブラリを追加しましょう。

プロジェクトのbuild.gradle(Moduleレベル)の中に、以下の依存関係を追加します。


dependencies {
    implementation("com.google.android.material:material:1.11.0")
}

このmaterialライブラリには、たくさんのMaterial Design対応コンポーネント(ボタン、テキストフィールド、カードなど)が含まれています。

3. Material Buttonを使ってみよう

3. Material Buttonを使ってみよう
3. Material Buttonを使ってみよう

Material Button(マテリアルボタン)は、見た目が洗練されていて押した感触もわかりやすいボタンです。レイアウトXMLに以下のように書くと、使うことができます。


<com.google.android.material.button.MaterialButton
    android:id="@+id/materialButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="送信"
    style="@style/Widget.MaterialComponents.Button"
    app:cornerRadius="12dp"
    app:icon="@drawable/ic_send"
    app:iconPadding="8dp"
/>

style属性でMaterial Designのボタンスタイルを指定し、角を丸くしたり、アイコンを表示することもできます。

4. TextInputLayoutで入力フィールドを美しく

4. TextInputLayoutで入力フィールドを美しく
4. TextInputLayoutで入力フィールドを美しく

ユーザーに文字を入力してもらう画面では、Material DesignのTextInputLayoutが大活躍します。ヒントの表示やエラーメッセージ、線の色などが自動で変化し、とても分かりやすいデザインになります。


<com.google.android.material.textfield.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="ユーザー名">

    <com.google.android.material.textfield.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</com.google.android.material.textfield.TextInputLayout>

これにより、入力フォームの見た目がぐっと洗練され、使いやすくなります。

5. CardViewで情報を囲もう

5. CardViewで情報を囲もう
5. CardViewで情報を囲もう

CardView(カードビュー)は、情報のまとまりを「カード」のように表示するための部品です。写真や説明文などをきれいにまとめて見せたいときに便利です。


<androidx.cardview.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:cardCornerRadius="12dp"
    app:cardElevation="6dp"
    android:layout_margin="8dp">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="カードの中身です"
        android:padding="16dp"/>
</androidx.cardview.widget.CardView>

カードの角を丸くしたり、影をつけて立体感を出すこともできます。

6. Themeの設定で全体のデザインを統一

6. Themeの設定で全体のデザインを統一
6. Themeの設定で全体のデザインを統一

Material Designのコンポーネントを使うためには、アプリ全体のテーマもMaterial対応にする必要があります。テーマとは、アプリ全体の色やフォント、スタイルをまとめたものです。

たとえば、themes.xmlファイルで以下のように設定します。


<style name="Theme.MyApp" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
    <item name="colorPrimary">@color/purple_500</item>
    <item name="colorSecondary">@color/teal_200</item>
</style>

Theme.MaterialComponentsを親に指定することで、すべてのMaterialコンポーネントが正しく動作するようになります。

7. おすすめのMaterialコンポーネント

7. おすすめのMaterialコンポーネント
7. おすすめのMaterialコンポーネント
  • Snackbar:下から出てくる通知メッセージ
  • FloatingActionButton:右下に出る丸いアクションボタン
  • BottomNavigationView:画面下部のナビゲーションバー
  • TabLayout:タブ切り替えを簡単に実装

これらのコンポーネントもすべてMaterial Designに対応しており、アプリをより使いやすく、視覚的に魅力的にしてくれます。

Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。

基礎からわかるKotlinをAmazonで見る

※ Amazon広告リンク

8. Kotlinでボタンのクリックイベントを書く

8. Kotlinでボタンのクリックイベントを書く
8. Kotlinでボタンのクリックイベントを書く

最後に、KotlinコードでMaterial Buttonのクリック処理を書く方法です。例えば、ボタンをタップしたときにメッセージを表示するには、次のように書きます。


val button = findViewById<MaterialButton>(R.id.materialButton)
button.setOnClickListener {
    Toast.makeText(this, "ボタンが押されました", Toast.LENGTH_SHORT).show()
}

setOnClickListenerというのは、「クリックされたときに何をするか」を決める命令です。

関連セミナーのご案内

【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分

「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。

本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。

具体的な体験内容と環境

【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。

【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。

この60分で得られる3つの体験

1. 自分のパソコンが「開発基地」に

プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。

2. プログラミングの「仕組み」がスッキリ

「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。

3. 「読みやすい」から「直せる」へ

Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。

※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。

セミナー画像

Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のwhile的なforループの使い方!条件式ループの基本を解説
New2
Go言語
Go言語プログラムの実行方法まとめ!VSCode・ターミナルでの実行手順を解説
New3
Swift
Swift意味とは?プログラミング言語・金融・鳥の違いを徹底解説
New4
Swift
Swift 戻り値の扱い方と複数戻り値の返し方|初心者でも分かる関数の基本
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語でリダイレクト処理を行う方法(http.Redirect)を初心者向けに解説
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.5
Java&Spring記事人気No5
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.6
Java&Spring記事人気No6
Go言語
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.7
Java&Spring記事人気No7
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.8
Java&Spring記事人気No8
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説