こんにちは!
せのり(@senoriblog)です。
今回はAndroidアプリのカスタムダイアログの作成方法を紹介します。
一般的に、Andoirdでダイアログを作成する時は"DialogFragment"を拡張すると思いますが、今回は"DialogFragment"を使用せずに作成しようと思います。
■完成イメージ
■開発環境
・言語:Java
・IDE:Android Studio 4.2.2
・APIレベル:30
上記の内容で解説します。
それでは、順番にみていきましょう。
プロジェクト構成
root/
├ java/
│ ├ DialogButtonTextView.java
│ └ MainActivity.java
└ res/
└ dialog_layout.xml
※一部省略
解説
1. DialogButtonTextView クラスを作成する
まずは、AppCompatTextView を継承したカスタム View を作成します。
2. カスタムダイアログのレイアウトを作成する
作成した DialogButtonTextView クラスを使用して、カスタムダイアログのレイアウトを作成します。
DialogButtonTextView クラス = ボタンの View となります。
今回は、OK/キャンセルのように2つのボタンを表示できるレイアウトとしています。
"com.senori.dialogSample.DialogButtonTextView"タグを複製して、ボタンを増やすことも可能です。
- Negative ボタン(35-50行目)
- Positive ボタン(51-66行目)
3. ダイアログを表示する
MainActivity.java に showCustomDialog メソッドを作成します。(66行目)
今回は、ボタンクリックで showCustomDialog メソッドを呼び出すようにしています。(53行目)
Positive ボタンクリック時の処理は41-46行目で、Negative ボタンクリック時の処理は47-52行目で設定しています。
4. アプリを実行する
ボタンをクリックすると、カスタムダイアログが表示されたら完成です!
今回のソースコードは以下にアップしています。