Диалоги в Android. Пример работы с ProgressDialog | Prologistic.com.ua

Диалоги в Android. Пример работы с ProgressDialog

В этом уроке мы создадим ProgressDialog, а также рассмотрим роль ProgressBar в ProgressDialog

Диалоги в Android. ProgressDialog

ProgressDialog является расширением виджета AlertDialog (подробнее о AlertDialog).
ProgressDialog в Android представляет собой диалоговое окно с ходом (прогрессом) выполнения какой-то задачи. Сам ProgressDialog очень похож на ProgressBar за исключением того, что отображается в диалоговом окне. Чтобы создать ProgressDialog, нужно достаточно следующей строчки кода:

Разница между ProgressDialog и ProgressBar

  • ProgressBar представляет собой обычный View (как Button, ImageView и другие) и может быть использован в макете, чтобы показать прогресс выполнения какой-то задачи. Кроме того, он не мешает пользователю взаимодействовать с другими частями приложения.
  • ProgressDialog представляет собой диалог со встроенным ProgressBar. Он также используется, чтобы показать прогресс выполнения какой-то задачи, но закрывает пользователю доступ к другим элементам экрана и требует дождаться выполнения задачи.

Методы для работы с диалогом ProgressDialog

  • Метод setMessage() используется для отображения сообщения пользователю. В нем часто пишут что-то на подобии «Идет загрузка…».
  • Метод setTitle() используется для установки заголовка в диалог.
  • Метод setProgressStyle(ProgressDialog.STYLE_HORIZONTAL) используется для указания горизонтального индикатора выполнения в диалоговом окне.
  • Метод setProgressStyle(ProgressDialog.STYLE_SPINNER) используется для демонстрации пользователю прогресса выполнения какой-либо задачи в виде вращающегося индикатора.
  • Метод setMax() используется для установки максимального значения прогресса.
  • Метод getMax() возвращает максимальное значение прогресса.
  • Метод getProgress() используется для получения текущего значения прогресса в цифрах.
  • Статический метод show(Context context, CharSequence title, CharSequence message) используется для отображения диалога ProgressDialog на экране.
  • Метод incrementProgressBy(int diff) увеличивает индикатор на значение, переданное в качестве параметра diff.

Пример работы с ProgressDialog

Ниже мы рассмотри небольшой пример работы с диалогом ProgressDialog.

Наш XML макет:

Листинг класса MainActivity:

В нашем приложении использовался Handler — механизм, позволяющий обрабатывать очередь из сообщений. Мы можем отправлять, получать сообщения, задавать интервалы получения этих сообщений самому себе. Подробно с этим механизмом мы разберемся в следующих уроках, а пока достаточно того, что он позволяет обновлять индикатор не в своем потоке.

Результат работы приложения с использованием ProgressDialog:

Диалоги в Android. Пример работы с ProgressDialog

Следите за обновлениями и подписывайтесь на рассылку новых статей по Java и Android.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *