Компонент ProgressBar (Индикатор прогресса) применяется в тех случаях, когда пользователю нужно показать, что программа не зависла, а выполняет продолжительную работу.
Находится в категории Widgets.
Студия предлагает несколько видов индикаторов: ProgressBar и ProgressBar (Horizontal). В свою очередь компонент имеет несколько модификаций и их отличия заложены в стилях, если посмотреть XML-описание компонентов. Стили постоянно меняются, поэтому проще выбрать атрибут style и посмотреть предлагаемые варианты из выпадающего списка на текущий момент.
Методы для работы с ProgressBar:
- setProgress() — устанавливает заданное значение индикатора прогресса;
- getProgress() — возвращает текущее значение индикатора прогресса;
- incrementProgressBy() — устанавливает величину дискретизации приращения значения индикатора;
- setMax() — устанавливает максимальное значение величины прогресса.
Круговые индикаторы Normal, Small и Large можно просто разместить на экране, и они будут бесконечно выводить анимацию вращения без единой строчки кода.
Как правило, "бесконечный" индикатор выводят в нужный момент, а когда задача выполнена, то его скрывают. Видимость можно установить через XML и программно.
Добавляем ProgressBar в activity_main.xml
Далее реализуем его в MainActivity c помощью setVisibility
В итоге должен выглядеть так:
Компонент ProgressBar (Horizontal) (Индикатор прогресса) применяется в тех случаях, когда пользователю нужно показать, что программа не зависла, а выполняет продолжительную работу.
Горизонтальный индикатор обычно используют, чтобы показать индикатор в действии. При длительной операции пользователь видит, что полоска индикатора постоянно увеличивается.
Добавляем ProgressBar в activity_main.xml
Далее реализуем его в MainActivity
В итоге должен выглядеть так:
ProgressBar может использоваться как для определенного(Determinate ProgressBar), так и для неопределенного(Indeterminate ProgressBar) хода выполнения задачи.
- Indeterminate ProgressBar используется, когда вы не можете оценить или отследить ход выполнения задачи. По умолчанию ProgressBar находится в неопределенном режиме.
- Determinate ProgressBar используется, когда вы можете оценить или отследить ход выполнения задачи.
Ход выполнения панели прогресса можно задать с помощью свойство прогресса, как показано ниже :
progressBar.progress = 70
Значение, указанное для свойства, представляет собой процент. Если 70 назначено прогрессу, то 70% панели прогресса будет помечено прогрессом.
Добавляем ProgressBar в activity_main.xml
И еще 2 кнопки:
Далее реализуем его в MainActivity
В итоге должен выглядеть так: