HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: android, seekbar, ползунок</p>
1 <p>Теги: android, seekbar, ползунок</p>
2 <p>Элемент<strong>SeekBar</strong>в Android-разработке выполняет роль ползунка, то есть речь идет о шкале делений, на которой можно менять текущую отметку. Давайте рассмотрим основные атрибуты этого элемента:</p>
2 <p>Элемент<strong>SeekBar</strong>в Android-разработке выполняет роль ползунка, то есть речь идет о шкале делений, на которой можно менять текущую отметку. Давайте рассмотрим основные атрибуты этого элемента:</p>
3 <ul><li><strong>android:max</strong>: максимальное значение;</li>
3 <ul><li><strong>android:max</strong>: максимальное значение;</li>
4 <li><strong>android:min</strong>: минимальное значение;</li>
4 <li><strong>android:min</strong>: минимальное значение;</li>
5 <li><strong>android:progress</strong>: текущее значение, находящееся в диапазоне между min и max.</li>
5 <li><strong>android:progress</strong>: текущее значение, находящееся в диапазоне между min и max.</li>
6 </ul><p>Чтобы управлять этим элементом, существуют несколько специальных методов. Некоторые из них стоит выделить:</p>
6 </ul><p>Чтобы управлять этим элементом, существуют несколько специальных методов. Некоторые из них стоит выделить:</p>
7 <ul><li><strong>void setProgress(int progress)</strong>: для установки текущего значения ползунка;</li>
7 <ul><li><strong>void setProgress(int progress)</strong>: для установки текущего значения ползунка;</li>
8 <li><strong>void setMin(int min)</strong>: для установки минимального значения;</li>
8 <li><strong>void setMin(int min)</strong>: для установки минимального значения;</li>
9 <li><strong>void setMax(int max)</strong>: для установки максимума;</li>
9 <li><strong>void setMax(int max)</strong>: для установки максимума;</li>
10 <li><strong>void incrementProgressBy(int diff)</strong>: для увеличения текущего значения на diff;</li>
10 <li><strong>void incrementProgressBy(int diff)</strong>: для увеличения текущего значения на diff;</li>
11 <li><strong>int getMax()</strong>: для возвращения максимального значения;</li>
11 <li><strong>int getMax()</strong>: для возвращения максимального значения;</li>
12 <li><strong>int getMin()</strong>: для возвращения минимума;</li>
12 <li><strong>int getMin()</strong>: для возвращения минимума;</li>
13 <li><strong>int getProgress()</strong>: для возвращения текущего значения;</li>
13 <li><strong>int getProgress()</strong>: для возвращения текущего значения;</li>
14 <li><strong>void setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener l)</strong>: для установки в элемент SeekBar слушателя изменения значения.</li>
14 <li><strong>void setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener l)</strong>: для установки в элемент SeekBar слушателя изменения значения.</li>
15 </ul><p>Давайте определим элемент SeekBar в разметке layout:</p>
15 </ul><p>Давайте определим элемент SeekBar в разметке layout:</p>
16 <p>Атрибут<strong>android:progress</strong>задаст в качестве текущего значения ползунка число 20, а атрибут<strong>android:max</strong>-- наибольшее значение, которое возможно -- 50. В результате получится следующее:</p>
16 <p>Атрибут<strong>android:progress</strong>задаст в качестве текущего значения ползунка число 20, а атрибут<strong>android:max</strong>-- наибольшее значение, которое возможно -- 50. В результате получится следующее:</p>
17 <p>Также мы можем задействовать метод setOnSeekBarChangeListener() -- он позволит установить обработчик событий изменения значения ползунка:</p>
17 <p>Также мы можем задействовать метод setOnSeekBarChangeListener() -- он позволит установить обработчик событий изменения значения ползунка:</p>
18 <p>Выше мы определили элемент<strong>TextView</strong>, который станет выводить текущее значение ползунка в случае его изменения.</p>
18 <p>Выше мы определили элемент<strong>TextView</strong>, который станет выводить текущее значение ползунка в случае его изменения.</p>
19 <p>Теперь поменяем код<strong>MainActivity</strong>:</p>
19 <p>Теперь поменяем код<strong>MainActivity</strong>:</p>
20 <p>Таким образом, в метод setOnSeekBarChangeListener() осуществляется передача объекта<strong>SeekBar.OnSeekBarChangeListener</strong>, который дает возможность устанавливать 3 метода-обработчика:</p>
20 <p>Таким образом, в метод setOnSeekBarChangeListener() осуществляется передача объекта<strong>SeekBar.OnSeekBarChangeListener</strong>, который дает возможность устанавливать 3 метода-обработчика:</p>
21 <ul><li><strong>onProgressChanged</strong>: срабатывает в случае перетаскивания ползунка по шкале. При этом параметр progress, передаваемый в метод, дает возможность получать новое значение ползунка -- оно в данном случае передается в TextView для отображения на экране;</li>
21 <ul><li><strong>onProgressChanged</strong>: срабатывает в случае перетаскивания ползунка по шкале. При этом параметр progress, передаваемый в метод, дает возможность получать новое значение ползунка -- оно в данном случае передается в TextView для отображения на экране;</li>
22 <li><strong>onStartTrackingTouch</strong>: срабатывает, когда начинается перетаскивание ползунка по шкале;</li>
22 <li><strong>onStartTrackingTouch</strong>: срабатывает, когда начинается перетаскивание ползунка по шкале;</li>
23 <li><strong>onStopTrackingTouch</strong>: срабатывает в случае завершения перетаскивания ползунка по шкале.</li>
23 <li><strong>onStopTrackingTouch</strong>: срабатывает в случае завершения перетаскивания ползунка по шкале.</li>
24 </ul><p>Кроме всего вышесказанного, у нас есть возможность получить текущее значение ползунка, задействовав метод getProgress():</p>
24 </ul><p>Кроме всего вышесказанного, у нас есть возможность получить текущее значение ползунка, задействовав метод getProgress():</p>
25 <p><em>По материалам https://metanit.com/java/android/.</em></p>
25 <p><em>По материалам https://metanit.com/java/android/.</em></p>
26  
26