Какие знаешь типы диалогов

«Какие знаешь типы диалогов» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android есть несколько типов диалогов:

  1. AlertDialog – стандартный диалог с заголовком, сообщением и кнопками:
AlertDialog.Builder(context)
    .setTitle("Title")
    .setMessage("Message")
    .setPositiveButton("OK") { _, _ -> }
    .setNegativeButton("Cancel", null)
    .show()
  1. DatePickerDialog/TimePickerDialog – для выбора даты/времени.

  2. ProgressDialog (устарел) – диалог с индикатором прогресса. Вместо него рекомендуется использовать ProgressBar внутри AlertDialog или в разметке.

  3. BottomSheetDialog – диалог, выезжающий снизу экрана (из Material Components).

  4. Custom Dialog – кастомный диалог на основе Dialog или DialogFragment с собственной разметкой.

  5. DialogFragment – рекомендуемый способ работы с диалогами, так как сохраняет состояние при повороте экрана.

Для сложных сценариев лучше использовать DialogFragment, а для простых – AlertDialog.