Главная » Разработка для Android » Знакомство с диалоговыми окнами

0

Диалоговые окна — неотъемлемая часть пользовательского интерфейса настольных,  мобильных  и веб-приложений. Они помогают пользователю отвечать на вопросы, выбирать и подтверждать  действия. Кроме того, они отображают  предупреждения и сообщения  об ошибках. Диалоговые окна в Android — полупрозрачные «плавающие»  Активности, частично перекры- вающие родительский экран, из которого их вызвали.

Как показано на рис. 5.5, они чаще всего затеняют родительскую Актив- ность позади себя с помощью фильтров размывания или затемнения.

Рис. 5.5.

Существует три способа реализации диалоговых окон в Android.

• Использование класса Dialog (или его производных). Наряду с уни- версальным классом  AlertDialog Android  содержит  специальные диалоговые  окна, наследованные от Dialog. Каждое  из них создано для предоставления специфических диалоговых функций. Экран, ис- пользующий класс Dialog, создается внутри родительской Активности и находится под ее полным контролем, поэтому нет нужды регистри- ровать его в манифесте.

• Активности, использующие визуальный стиль диалоговых окон.

Вы можете применить  визуальный стиль для диалогов  к обычной

Активности, чтобы она выглядела,  как стандартное диалоговое окно.

• Уведомления типа Toast. Объекты Toast — специальные немодальные кратковременные окна с сообщениями, часто используемые Прием- никами широковещательных намерений и Сервисами, чтобы оповещать пользователей о событиях,  происходящих в фоне. Более  подробно с уведомлениями типа Toast вы сможете познакомиться в главе 9.

Знакомство с классами диалоговых окон

Чтобы использовать базовый класс Dialog, необходимо создать новый экземпляр и установить  для него заголовок  и разметку, используя методы setTitle  и setContentView, как показано в листинге 5.27.

Листинг 5.27. Создание нового диалогового окна с помощью класса Dialog

Dialog d = new Dialog(MyActivity.this);

// Новое окно затеняет и размывает Активность,

// которую оно перекрывает. Window window = d.getWindow(); window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,

WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

// Установите заголовок

d.setTitle("Dialog Title");

// Передайте ссылку на разметку

d.setContentView(R.layout.dialog_view);

// Найдите элемент TextView внутри вашей разметки

// и установите ему соответствующий текст

TextView text = (TextView)d.findViewById(R.id.dialogTextView);

text.setText("This is the text in my dialog");

Настроив диалоговое окно надлежащим образом, вызовите метод show, чтобы отобразить  его на экране:

d.show();

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии