Я искал всюду и читал официальный документ Google. Но я до сих пор не вижу разницы между ними.
Когда мы должны использовать ProgressBar и когда мы должны использовать ProgressDialog?
Я искал всюду и читал официальный документ Google. Но я до сих пор не вижу разницы между ними.
Когда мы должны использовать ProgressBar и когда мы должны использовать ProgressDialog?
ProgressBar - это представление (например, TextView, ImageView, Button и т.д.), которые можно использовать в вашем макете, чтобы показать некоторый прогресс.
ProgressDialog - это диалог с встроенным ProgressBar. Диалоги могут использоваться, чтобы заставить пользователя ждать, пока что-то вычисляется. ProgressDialog упрощает отображение результатов ваших вычислений в диалоговом окне.
ProgressBar
:
ProgressDialog
:
ProgressBar
является View
, ProgressDialog
является Dialog
.
Хотя ответы здесь информативны, никто не решает вопрос.
(Благодаря Johnny S для изображения ProgressDialog.)
В дополнение к различиям, указанным в остальных ответах, вы должны принять во внимание следующую рекомендацию Dialogs @Android Developer:
Избегайте ProgressDialog
Android включает еще один класс диалога под названием
ProgressDialog
, который показывает диалог с индикатором выполнения. Однако, если вам нужно указать загрузку или неопределенный прогресс, вы должны следовать за дизайном рекомендации для Прогресс и активность и используйтеProgressBar
в своем макета.
Также полезно рассмотреть следующие ответы:
Когда ваши итерации являются счетными (выполнение операций в цикле, выполнение кода x раз и т.д.), используйте ProgressBar, если задача не является счетной (например, для вызова веб-службы), используйте ProgressDialog
Из документации по android
ProgressBar: визуальный индикатор прогресса в некоторой операции. Отображает полосу для пользователя, показывающую, как далеко работает операция прогрессировала; приложение может изменить ход выполнения (изменение длины бара) по мере продвижения вперед. Существует также вторичный прогресс, отображаемый на индикаторе выполнения, который полезен для отображение промежуточного прогресса, такого как уровень буфера во время потокового воспроизведения.
ProgressDialog: диалог, показывающий индикатор прогресса и необязательный текстовое сообщение или представление. Только текстовое сообщение или представление могут использоваться на то же время.