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

Kotlinでテーマ・スタイルを設定する方法を初心者向けにやさしく解説!

Kotlinでテーマ・スタイルを設定する方法
Kotlinでテーマ・スタイルを設定する方法

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

生徒

「KotlinでAndroidアプリを作ってるんですが、ボタンの色とか文字の大きさって、毎回設定しないといけないんですか?」

先生

「その場合はテーマスタイルを使うと便利ですよ。アプリ全体の見た目を一括でコントロールできます。」

生徒

「テーマとかスタイルって難しそうです…。どうやって使うんですか?」

先生

「大丈夫。順番にわかりやすく説明していくので、一緒にやってみましょう!」

1. テーマとスタイルの違いとは?

1. テーマとスタイルの違いとは?
1. テーマとスタイルの違いとは?

テーマ(Theme)は、アプリ全体の色やフォント、背景などを一括で定義するものです。アプリ全体に統一感を持たせたいときに使います。

スタイル(Style)は、個々の部品(ボタンやテキストなど)のデザインを定義します。ボタンごとに色を変えたいときなどに使います。

たとえば、制服がテーマ、ネクタイの色がスタイル…そんなイメージです。

2. styles.xml でスタイルを設定する方法

2. styles.xml でスタイルを設定する方法
2. styles.xml でスタイルを設定する方法

スタイルは、res/values/styles.xmlに記述します。たとえば、ボタンの背景色や文字色を定義するには以下のように書きます。


<style name="MyButtonStyle">
    <item name="android:background">#2196F3</item>
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:textSize">18sp</item>
</style>

このMyButtonStyleを使えば、何度も同じ色や文字サイズを設定しなくても済みます。

3. スタイルをレイアウトに適用するには?

3. スタイルをレイアウトに適用するには?
3. スタイルをレイアウトに適用するには?

定義したスタイルは、XMLの中でstyle属性として指定します。


<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="@style/MyButtonStyle"
    android:text="スタイル付きボタン" />

これで、毎回個別に色を設定しなくても、同じデザインが自動で適用されます。

4. アプリ全体に反映されるテーマの設定方法

4. アプリ全体に反映されるテーマの設定方法
4. アプリ全体に反映されるテーマの設定方法

テーマはthemes.xmlに定義され、AndroidManifest.xmlで指定します。


<!-- themes.xml -->
<style name="MyAppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
    <item name="colorPrimary">#FF5722</item>
    <item name="colorPrimaryVariant">#E64A19</item>
    <item name="colorOnPrimary">#FFFFFF</item>
    <item name="android:fontFamily">sans-serif-medium</item>
</style>

<!-- AndroidManifest.xml -->
<application
    android:theme="@style/MyAppTheme"
    ... >
</application>

こうしておけば、ボタンやテキストの色などがアプリ全体に自動的に反映されます。

5. Kotlinコードからスタイルを変更したいときは?

5. Kotlinコードからスタイルを変更したいときは?
5. Kotlinコードからスタイルを変更したいときは?

スタイルやテーマは通常XMLで指定しますが、Kotlinのコードからも色や背景を変更することができます。


val button = findViewById<Button>(R.id.myButton)
button.setBackgroundColor(Color.RED)
button.setTextColor(Color.WHITE)

ただし、同じスタイルを複数の画面で使うなら、やはりstyles.xmlで定義するほうが管理しやすいです。

6. 夜モード・昼モード(ダークテーマ)の切り替え

6. 夜モード・昼モード(ダークテーマ)の切り替え
6. 夜モード・昼モード(ダークテーマ)の切り替え

DayNightテーマを使うと、スマホの設定に応じてアプリの背景が明るくなったり暗くなったりします。以下のように親テーマを指定すれば、対応できます。


<style name="MyAppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
    <!-- 色やフォントなど -->
</style>

こうすることで、アプリが自動で昼と夜のスタイルを切り替えるようになります。

7. 実行結果のイメージ

7. 実行結果のイメージ
7. 実行結果のイメージ

上記のスタイルを適用したボタンの表示例:


スタイル付きボタン(背景:青色、文字:白、文字サイズ:18sp)

アプリ全体の背景や文字色も、テーマを通じて統一されたデザインになります。

8. よく使われるスタイル・テーマの項目一覧

8. よく使われるスタイル・テーマの項目一覧
8. よく使われるスタイル・テーマの項目一覧

以下は、テーマやスタイルでよく使われる設定項目です:

  • android:background:背景色
  • android:textColor:文字色
  • android:textSize:文字サイズ
  • android:fontFamily:フォント
  • colorPrimary:メインカラー
  • colorAccent:アクセントカラー

これらを使いこなせば、KotlinのAndroidアプリ開発で、見た目のカスタマイズがとても簡単になります。

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

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

※ Amazon広告リンク

まとめ

まとめ
まとめ

Kotlinでテーマやスタイルを設定する方法を振り返ると、Androidアプリのデザインを整えるうえで欠かせない仕組みであることがよくわかります。アプリを開発していると、ボタンの色や文字サイズ、背景色、フォントなど、見た目に関わる設定を繰り返し同じように指定する場面が必ず生まれます。そんなときにスタイルやテーマを活用することで、見た目の統一感を実現しながら、コードやXMLの記述量も大幅に減らすことができます。特に、アプリ全体で共通して使う色やフォントをテーマに登録しておくことで、後からデザインを変更したい場合も1か所を書き換えるだけでアプリ全体に反映され、管理のしやすさが飛躍的に向上します。

また、Material Designに対応したテーマを使うことで、アプリ全体の雰囲気をガラッと変えることもでき、ユーザーにとって心地よいUI・UXを作りやすくなります。スタイルは部品単位で適用できるため、ボタン・テキスト・カードといった細かな要素に個別のデザインを付けたいときに役立ちます。複数の画面で同じデザインを繰り返し使うアプリほど、その効果は大きくなります。スタイルを一度定義しておけば、レイアウトXMLにスタイル名を1行追加するだけで見た目が統一されるため、チーム開発では特に重宝される仕組みです。

さらに、DayNightテーマのように「昼モード・夜モード」を自動切り替えできるテーマを導入すれば、ユーザーの好みやスマホの設定に応じてアプリの見た目を調整できます。現代のアプリではダークテーマ対応が当たり前になっているため、この設定を理解しておくことは大切です。夜間に画面を見たときにまぶしくないように背景色を暗くしてあげることは、ユーザーに対する細やかな配慮のひとつでもあります。

Kotlinコードだけでも色を変更できますが、UI全体を通して統一感を出したいのであれば XML でスタイルやテーマを定義するほうが確実で、後からの修正もしやすくなります。今回紹介したテーマとスタイルの仕組みを理解しておけば、アプリのデザインを大きく変える場合でも効率よく対応でき、開発の負担も軽減されます。色やフォントを変更したり、特定のボタンだけ特別なデザインにしたり、アプリ全体の雰囲気を統一したりと、多彩な使い方が可能になるため、Androidアプリ開発では欠かせない知識です。

テーマ・スタイルを組み合わせた実用的なサンプル


<!-- res/values/styles.xml -->
<style name="MyRoundedButton">
    <item name="android:background">#4CAF50</item>
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:padding">12dp</item>
    <item name="android:fontFamily">sans-serif-medium</item>
</style>

<style name="MyLargeTitleText">
    <item name="android:textColor">#212121</item>
    <item name="android:textSize">24sp</item>
    <item name="android:fontFamily">sans-serif-light</item>
</style>

<!-- res/layout/activity_main.xml -->
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">

    <TextView
        android:id="@+id/titleText"
        style="@style/MyLargeTitleText"
        android:text="アプリのタイトル" />

    <Button
        android:id="@+id/startButton"
        style="@style/MyRoundedButton"
        android:text="スタート" />
</LinearLayout>

// Kotlin側で動的に変更したい場合
val title = findViewById<TextView>(R.id.titleText)
title.setTextColor(Color.parseColor("#000000"))

val button = findViewById<Button>(R.id.startButton)
button.setBackgroundColor(Color.parseColor("#009688"))

このようにテーマとスタイルを適切に組み合わせることで、見た目の一貫性が保たれ、開発効率も高まります。XML と Kotlin の両方から柔軟にデザインを制御できるため、さまざまな画面構成に応じて調整しやすいのも魅力です。

先生と生徒の振り返り会話

生徒

「テーマとスタイルって難しそうだと思っていたけど、意外と便利なんですね。見た目を揃えたいときに毎回設定しなくていいのは助かります!」

先生

「その通りですよ。一度定義しておけば、アプリ全体で統一したデザインを保てますし、後から変更したいときも簡単です。特にテーマはアプリ全体に影響するので覚えておくと便利です。」

生徒

「DayNightテーマを使えば、自動で暗い色と明るい色を切り替えてくれるのもすごく便利ですね。ユーザーに優しいアプリが作れそうです。」

先生

「そうですね。ユーザーの環境に合わせて見やすいデザインに自動調整されるのは今のアプリでは欠かせません。今日の内容を活かして、より洗練されたアプリを作ってみましょう。」

関連セミナーのご案内

【未経験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の演算子一覧と使い方!算術・比較・論理演算子の基本を解説