リファレンス・カスタマイズ

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

 

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

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

 
 
 

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

【Android Studio】DialogFragmentを使ってダイアログを表示する方法 この記事では DialogFragment を使ったダイアログの表示方法を紹介しています。 基本的なダイアログと、リス...

 
 


 

開発環境

Android Studio4.1.1
Android EmulatorNexus 4 (API 30)
minSdkVersion16
targetSdkVersion30

 
 

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 を使った色の指定方法まとめ」をお読みください。

【Android Studio】Color クラス と Resources を使った色の指定方法まとめ Android 開発をしていると java ファイル側でテキストやボタンの色を変えたい場合があると思います。 例えばクイズ...
 
 

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リンクを表示する方法 ここではAlertDialog(アラートダイアログ)に HTML リンクを表示する方法を紹介します。 ダイアログのメッ...
 
 
 

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

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

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

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

 
 

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

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

 
 
 

アプリを実行

以上で完成です。

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


 
 
 

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

 

ABOUT ME
Sara
「わかりやすく・シンプル」をモットーに、スマホアプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
guest
0 Comments
Inline Feedbacks
View all comments
0
この記事にコメントするx