【Kotlin/Android Studio】AlertDialogの使い方!カスタマイズ方法

この記事からわかること
- Android Studio/KotlinのAlertDialogの使い方
- アプリでダイアログ(ポップアップビュー)を実装する方法
- リストやチェックボックス、ラジオボタンなど
index
[open]
\ アプリをリリースしました /
環境
- Android Studio:Koala
- Kotlin:1.9.0
AlertDialogでダイアログを実装する方法
Androidでダイアログ(ポップアップビュー)を実装するにはAlertDialog
クラスを使用します。実装方法は簡単で「MainActivity.kt」にコードを書くだけで実装することが可能です。今回はボタンをタップされた時にダイアログが出る仕組みを実装していきます。まずはその前に「activity_main.xml」にボタンを設置しておきます。
シンプルなダイアログ
まずはシンプルなダイアログを実装して使い方をみていきます。AlertDialog
クラスからBuilder
を呼び出し、引数にはContext
(ここではthis
)を渡します。そこからsetTitle
メソッドでタイトルをsetMessage
メソッドでメッセージをsetPositiveButton
メソッドでボタンを定義します。最後にshow
メソッドを実行することでダイアログが表示されます。

アイコンをつける
setIcon
メソッドを使用することでダイアログに画像(アイコン)を設置することができます。

ボタンを2つ表示する
ボタンを2つ表示するにはsetPositiveButton
メソッドとsetNegativeButton
メソッドを使用します。setPositiveButton
メソッドで指定した方が右側にsetNegativeButton
メソッドが左側に来るように配置されます。

3つ目のボタンを表示する
setNeutralButton
メソッドを使用することで3つ目のボタンを設置することができます。これはダイアログの左側に配置されます。3つ目と書きましたが、ボタンの定義が1つしかない状態でsetNeutralButton
メソッドを使用しても変わらずダイアログの左側に配置されます。

ダイアログでリストを表示する
ダイアログ内でリストを表示するにはsetItems
メソッドを使用します。引数に表示させたいリストを渡します。

ダイアログでチェックボックスを表示する
ダイアログ内でチェックボックスを表示するにはsetMultiChoiceItems
メソッドを使用します。引数に表示させたいリストとチェックフラグを渡します。

ダイアログでラジオボタンを表示する
ダイアログ内でラジオボタンを表示するにはsetMultiChoiceItems
メソッドを使用します。引数に表示させたいリストとデフォルトでチェック状態にするインデックス番号を渡します。

独自レイアウトダイアログ
以下のような独自レイアウトのダイアログを実装したい場合はDialogFragment
を使用して実装する必要があります。実装方法は以下の記事を参考にしてください。

ダイアログ外をタップで閉じる
AlertDialog
ではデフォルトでダイアログ外をタップすることで閉じる仕様になっています。これを閉じないようにするには.setCancelable(false)
を指定します。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。