Пример AlertDialog (Диалоговое окно) в Android
Компонент AlertDialog (диалоговое окно) — один из важных элементов пользовательского интерфейса в любом приложении на Андроид. AlertDialog чаще всего используется в тех случаях, когда нам спросить пользователя о чем-то (разрешение/подтверждение выполнения какой-то операции). В этом уроке мы рассмотрим создание диалогового окна с помощью различных компоновок.
Теория по AlertDialog в Android
AlertDialog является базовым компонентом для построения Android приложений, поэтому мы должны хорошо понимать как он работает и уметь создавать различные компоновки диалоговых окон.
Для того, чтобы создать AlertDialog в Android, нам необходимо создать объект AlertDialogBuilder , который является вложенным классом AlertDialog . Рассмотрим пример:
Компоновка Android AlertDialog
Компоновка диалогового окна позволяет работать с несколькими составляющими:
Название — необязательный элемент диалогового окна
Контент — текст, который будет показан пользователю. Это может быть сообщение, список или же свой полностью кастомный макет.
Кнопки. Они бывают трех типов: для подтверждения (ОК), отмены и дополнительная (настраиваемая) кнопка. Любое диалоговое окно может содержать максимум три кнопки действий.
Методы для работы с диалоговыми окнами
- Метод setIcon(Drawable icon) устанавливает иконку (значок) в диалоговое окно
- Метод setCancelable(boolean cancelable) устанавливает возможность отмены действия в AlertDialog .
- Метод setMessage(CharSequence message) устанавливает сообщение, которое будет отображаться в диалоговом окне.
- setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, DialogInterface.OnMultiChoiceClickListener listener) задает список элементов, которые будут отображаться в диалоговом окне. Выбранный пользователем элемент списка будет отслеживаться слушателем
- После нажатия на кнопку «Отмена» диалогового окна, сработает метод setOnCancelListener (DialogInterface.OnCancelListener onCancelListener) .
- Метод setTitle(CharSequence title) устанавливает заголовок в AlertDialog .
- Метод getListView() получает тип списка, используемый в диалоговом окне.
Пример использования AlertDialog в Android
Давайте рассмотрим пример работы с AlertDialog . Начнем с макета, в котором расположим 3 кнопки. Каждая кнопка будет вызывать диалоговое окно с различной компоновкой: с 1 кнопкой — ОК, с двумя кнопками — Отмена и ОК, а также окно с тремя вариантами: ОК, Отмена и так называемая нейтральная кнопка.
Начнем с макета activity_main.xml нашего приложения: