【Android Studio】ダイアログの文字色・文字サイズ・背景色のカスタマイズ方法

Sara

ここでは「AlertDialogの文字色・文字サイズ・背景色のカスタマイズ方法」を紹介します。

文字の色を変えるだけでもアプリの雰囲気が変わりますので、ぜひお試しください。

ダイアログの基本的な使い方は以下の記事をお読み下さい。

あわせて読みたい
【Android Studio】DialogFragmentを使ってダイアログを表示する方法
【Android Studio】DialogFragmentを使ってダイアログを表示する方法

開発環境

Android Studio4.1.1
Android EmulatorNexus 4 (API 30)
minSdk16
targetSdk30

AlertDialog のカスタマイズ

1. 色の用意

タイトルとボタンに使用する色を colors.xml に定義しておきます。

黒・白・赤などの一般的な色を使う場合は、このあと紹介する Color クラスに用意されているので、この手順は不要です。

Android Studio 画面左側のプロジェクト構造から app → res → values → colors.xml を開きます。

colors.xml を開いたら、6行目のように好きな色をご用意ください。

2. タイトルのカスタマイズ

まずはタイトルのカスタマイズをします。(7~13行目)

ここではタイトル用の TextView を用意して

  • 表示するテキスト
  • 文字サイズ
  • 文字色
  • 背景色
  • Padding
  • 揃える位置

の順番で設定しています。

10行目
titleView.setTextColor(Color.WHITE);

文字の色は Color クラスに用意されている WHITE(白)を使っています。

黒・白・赤などの一般的な色は Color クラスに用意されているので、簡単に使うことができます。

使用できる色は https://developer.android.com/reference/android/graphics/Color#summary をお読みください。

11行目
titleView.setBackgroundColor(getResources().getColor(R.color.alertBlue));

背景色には先ほど colors.xml に定義した色を使っています。

RGB や HEX を使った色の指定方法は【Android Studio】Colorクラス・Resources を使った色の指定方法まとめ をお読みください。

12行目
titleView.setPadding(20, 20, 20, 20);

padding を「左・上・右・下」の順番でセットしています。

今回はタイトルを中央揃えにしているので、左右の Padding は 0 しても問題ありません。

Padding(パディング)は、タイトル TextView の枠と文字の距離(すき間)の部分です。

16行目
builder.setCustomTitle(titleView)

setTitle メソッドではなく、setCustomTitle メソッドを使って TextView をセットすればタイトルのカスタマイズは完了です。

3. メッセージのカスタマイズ

次にメッセージ部分のカスタマイズをします。

メッセージもタイトルと同じように TextView を用意するだけでカスタマイズできます。(15~19行目)

設定項目はタイトルで使ったものと同じです。

メッセージ部分にも背景色を付けたい場合は、タイトルと同じように setBackgroundColor メソッドを使います。

23行目
.setView(msgView)

setMessage メソッドではなく、setView メソッドを使って TextView をセットすれば完了です。

HTMLを使いたい場合

以下のように書くと HTML でメッセージを書くこともできます。

6 行目の setMovementMethod メソッドは <a> リンクをクリックできるようにするために使うので、リンクがない場合は不要です。

もう一つの HTML の設定方法はこちらをお読み下さい。

あわせて読みたい
【Android Studio】ダイアログにHTMLリンクを表示する方法
【Android Studio】ダイアログにHTMLリンクを表示する方法

4. ボタンのカスタマイズ

onCreateDialog メソッドでは、まだフラグメントが作成されていません。

そのためフラグメントが表示される直前の onStart メソッドで Button を取得してカスタマイズします。

32~40行目を追加します。

今回は POSITIVE ボタンだけ使用していますが、NEGATIVE, NEUTRAL ボタンも以下のように取得できます。

alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE)
alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)

アプリを実行

以上で完成です。

アプリを実行すると、このようなダイアログが表示されます。

ダイアログのカスタマイズ方法

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

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

Code for Fun プログラミング講座では、プログラミングの基礎からアプリ開発まで学ぶことができます。

わかりやすく・シンプルをモットーに

  • 同じコードを書けば必ず完成できること
  • 専門用語を使いすぎないこと

を重視しています。

POINT 01

動くコード

プログラミングの文法だけを学んでも、そこから動くアプリを開発をするのは難しいです。

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

POINT 02

自分のペースで

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

分からないことがあっても、前のレッスンに戻ることができるので安心です。

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

POINT 03

個別サポート

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

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

今すぐ無料でお試し

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