Элемент SeekBar в Android
Элемент SeekBar в Android-разработке выполняет роль ползунка, то есть речь идет о шкале делений, на которой можно менять текущую отметку. Давайте рассмотрим основные атрибуты этого элемента:
- android:max: максимальное значение;
- android:min: минимальное значение;
- android:progress: текущее значение, находящееся в диапазоне между min и max.
Чтобы управлять этим элементом, существуют несколько специальных методов. Некоторые из них стоит выделить:
- void setProgress(int progress): для установки текущего значения ползунка;
- void setMin(int min): для установки минимального значения;
- void setMax(int max): для установки максимума;
- void incrementProgressBy(int diff): для увеличения текущего значения на diff;
- int getMax(): для возвращения максимального значения;
- int getMin(): для возвращения минимума;
- int getProgress(): для возвращения текущего значения;
- void setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener l): для установки в элемент SeekBar слушателя изменения значения.
Давайте определим элемент SeekBar в разметке layout:
Атрибут android:progress задаст в качестве текущего значения ползунка число 20, а атрибут android:max -- наибольшее значение, которое возможно -- 50. В результате получится следующее:
Также мы можем задействовать метод
Выше мы определили элемент TextView, который станет выводить текущее значение ползунка в случае его изменения.
Теперь поменяем код MainActivity:
Таким образом, в метод
- onProgressChanged: срабатывает в случае перетаскивания ползунка по шкале. При этом параметр progress, передаваемый в метод, дает возможность получать новое значение ползунка -- оно в данном случае передается в TextView для отображения на экране;
- onStartTrackingTouch: срабатывает, когда начинается перетаскивание ползунка по шкале;
- onStopTrackingTouch: срабатывает в случае завершения перетаскивания ползунка по шкале.
Кроме всего вышесказанного, у нас есть возможность получить текущее значение ползунка, задействовав метод
По материалам https://metanit.com/java/android/.