- SeekBar (Слайдер)
- Меняем задний фон экрана
- Дополнительное чтение
- Кастомный UI Slider (SeekBar)
- Шаг 1: Создайте свое изображения Drawables (9-Patch)
- Шаг 2: SeekBar Progress Drawable
- Шаг 3: SeekBar фон Drawable
- Шаг 4: Соберем все в вместе
- SeekBar
- Как сделать двойной seekbar в android?
- 5 ответов
- Google Android — это несложно
- Seekbar с двумя ползунками
- Seekbar с двумя ползунками
- Re: Seekbar с двумя ползунками
- Re: Seekbar с двумя ползунками
- Re: Seekbar с двумя ползунками
- Re: Seekbar с двумя ползунками
- Re: Seekbar с двумя ползунками
SeekBar (Слайдер)
SeekBar — это обычный слайдер, когда пользователь может передвигать ползунок пальцем на экране. Ползунок также можно двигать при помощи клавиш-стрелок.
Компонент SeekBar находится в разделе Widgets и наследуется от класса ProgressBar. В Android Studio 3.0 представлен в двух вариантах: SeekBar и SeekBar (Discrete).
Для отслеживания перемещения ползунка SeekBar необходимо реализовать интерфейс-слушатель SeekBar.OnSeekBarChangeListener с методами-заглушками:
- onProgressChanged() — уведомляет об изменении положения ползунка;
- onStartTrackingTouch() — уведомляет о том, что пользователь начал перемещать ползунок;
- onStopTrackingTouch() — уведомляет о том, что пользователь закончил перемещать ползунок
Заготовка для Kotlin (на Java будет ниже в статье).
Создадим новый проект и добавим компоненты SeekBar и TextView:
Напишем код, чтобы в текстовом поле отображалось текущее значение ползунка после того, как пользователь отпустит его.
Ниже представлены вариант на Android 5.0 и старый вариант на Android 2.3 до появления Material Design, чтобы вы видели, как менялся интерфейс.
Меняем задний фон экрана
Усложним пример и будем менять цвет у фона экрана. Добавим на форму три компонента SeekBar:
Напишем код, меняющий значение цвета через значения ползунка:
Кот Рыжик попросил выставить цвет, наиболее подходящий цвету его шкурки. Я решил ему немного польстить:
Дополнительное чтение
patryk1007/ShootingSlider — прикольный слайдер, напоминающий стрельбу из пушки в играх
Источник
Кастомный UI Slider (SeekBar)
Android слайдер (или SeekBar как его называют в мире Android) является довольно скользким UI елемент, который мы недавно использовали в нашем Call Your Folks! приложении в качестве средства выбора частоты напоминание от одного дня до трех месяцев.
Я расскажу вам о создании кастомизированного seekbar для вашего Android приложения, используя только несколько XML и drawables.
Шаг 1: Создайте свое изображения Drawables (9-Patch)
Перед созданием любого XML drawables убедитесь, что вы создаете изображения drawables (включая один 9-patch drawable) необходимого для фона seekbar. 9-patch drawables будет использоватся в XML drawables ниже.
Создайте следующие drawables и поместить их в папку /res/drawable/
Шаг 2: SeekBar Progress Drawable
Создадите XML-файл для Android SeekBar который будет отображать прогресс, назовите его seekbar_progress_bg.xml и разместите его в папке /res/drawable/
XML выше сначала рисует полупрозрачный, голубой градиент, потом слой с полупрозрачными полосками поверх градиента. Строчка кода android:tileMode=»repeat» относится к полосе (полупрозрачной) картинки внутри вашей папки drawable созданой в Шаге 1.
Для получения дополнительной информации о создании кастомних форм(shape) с помощью XML используйте ресурси Android drawable resources docs, в частности bitmap и shape секции.
Шаг 3: SeekBar фон Drawable
Далее создайте основной drawable для отображения прогресса, это будет назначить drawable для progress и secondaryProgress действий внутри вашего seekbar. Назовите ваш drawable seekbar_progress.xml и разместите его в папке /res/drawable/
Код в теге nine-patch посилается на фоновое изображение создание в Шаге 1, последний блок посилается на drawable создани в Шаге 2.
Шаг 4: Соберем все в вместе
На данный момент, все, что вам нужно сделать, это визвать seekbar_progress drawable когда создаете seekbar
Две последние строчки устанавливают drawables для прогресса и ползунока для SeekBar . @drawable/seekbar_progress drawable созданий в предыдущем шаге.
Источник
SeekBar
SeekBar — это расширение ProgressBar, которое представляет собой слайдер. С его помощью пользователь может перемещать ползунок, устанавливая нужное значение прогресса. Например, с помощью слайдера можно регулировать уровень яркости или громкости.
Чтобы добавить SeekBar на активность, достаточно определить его XML.
Если вам нужно задать изначальный прогресс, то это можно сделать с помощью XML или программно.
- Через XML
В коде разметки нужно добавить атрибут android:progress и передать в него уровень достигнутого прогресса.
По умолчанию максимальный прогресс равен 100, однако его можно изменить с помощью атрибута android:max.
Программно
В коде активности нужно определить экземпляр SeekBar и затем указать прогресс с помощью метода setProgress(), в аргументы которого передаётся значение прогресса.
Кроме того, можно не задавать конкретный прогресс, а увеличивать текущий на определенную величину. Для этого можно воспользоваться методом incrementProgressBy().
Аналогично способу в XML, можно программно задать максимальное значение прогресса следующим образом.
Если вы хотите узнать текущий прогресс и его максимальное значение, вы можете воспользоваться методами getProgress() и getMax() соответственно.
К SeekBar можно добавить слушатель, который будет получать изменение прогресса. Сделать это можно с помощью метода setOnSeekBarChangeListener().
При этом будут реализованы 3 следующих метода:
- onProgressChanged() — уведомляет о том, что в SeekBar произошли изменения (например, изменён прогресс).
- onStartTrackingTouch() — уведомляет о том, что пользователь прикоснулся к ползунку.
- onStopTrackingTouch() — уведомляет о том, что пользователь перестал касаться ползунка.
Настроим слушатель, чтобы он изменял уровень прозрачности фона у кнопки в зависимости от прогресса. Для этого в XML добавим Button.
Затем определим экземпляр Button в коде активности и после этого в методе onProgressChanged добавим изменение прозрачности. Также добавим всплывающие сообщение, сообщающие о срабатывании методов onStartTrackingTouch() и onStopTrackingTouch().
В результате получим следующее:
У SeekBar существует возможность кастомизации, заключающаяся в изменении полосы прогресса и ползунка на какой-либо свой.
Чтобы изменить полосу прогресса, нужно создать XML Drawable. Для этого в папке res/drawable создадим файл seek_bg.xml.
Затем в коде разметки воспользуемся атрибутом android:progressDrawable и передадим в него созданный файл.
Таким образом, можно легко изменить полосу прогресса у слайдера.
Аналогично можно заменить ползунок. Для этого нужно воспользоваться атрибутом android:thumb, в значении которого указать изображение, которое вы хотите использовать в качестве ползунка.
Источник
Как сделать двойной seekbar в android?
Я создаю приложение для android, где пользователь выбирает максимальное значение по seekbar.
мне нужна другая кнопка на той же панели поиска, чтобы пользователь мог выбрать максимальное и минимальное значение из конкретной уникальной панели поиска.
вот мой код одной строки поиска —
вот мой xml-код панели поиска —
5 ответов
библиотека классов виджет для Android имеет только один регулятор, справа только один рычаг. Сделал некоторые исследования в интернете и нашел этот прохладный пользовательский виджет, range-seek-bar.
вы можете следовать любой из ниже
полно подгоняйте двухсторонний и одиночный бар поиска пути вы можете обеспечить цвет ЕТК большого пальца руки http://codingsignals.com/crystal-range-seekbar-in-android/
добавить в gradle
вам не нужно использовать два seekbar, но вы можете просто сделать ту же функцию минимума и максимума, используя только один seekbar с двумя большими пальцами над ним Здесь его библиотека вы можете использоватьhttps://code.google.com/p/range-seek-bar/
вы можете использовать, используя ниже код
и в «public boolean onTouchEvent (MotionEvent event)»,
RangeSeekBar https://github.com/RanaRanvijaySingh/RangeSeekBar. Также доступны другие библиотеки, которые предлагают множество настроек. Если вы хотите пойти на более интерактивный дизайн, то ищите Материал Бар http://android-arsenal.com/details/1/1272.
Источник
Google Android — это несложно
Добро пожаловать на форум сайта
Seekbar с двумя ползунками
Seekbar с двумя ползунками
Сообщение myandroid » 22 авг 2014, 09:36
Если возможность в самом андроиде создать seekbar с двумя ползунками без дополнительных классов и т.п.?
Вот что мне нужно
Не могу найти в инете как это делается, все примеры только с одним ползунком.
Re: Seekbar с двумя ползунками
Сообщение KamiSempai » 22 авг 2014, 10:57
Re: Seekbar с двумя ползунками
Сообщение myandroid » 22 авг 2014, 14:07
Re: Seekbar с двумя ползунками
Сообщение KamiSempai » 22 авг 2014, 15:52
Собственно, я по ней и нашел эту библиотеку.
Подумайте логически, если бы была возможность сделать такое стандартными средствами, зачем тогда люди напрягались и писали отдельную библиотеку?
Re: Seekbar с двумя ползунками
Сообщение myandroid » 22 авг 2014, 17:37
Я вам отвечу, почему люди напрягались, потому что те кто разрабатывает андроид не думает о простых вещах. Раньше и загрузки файлов с инета не было, люди напрягались и делали свои классы, а потом андроидные ребята встроили его в систему. Поэтому и спрашиваю, может быть они уже сделали это.
Такой же бардак с select_dialog_multichoice сделали множественный список, а выбрать можно только одно, что за разработчики такие. Целый день потратил на поиск, решения нет, чтобы брать курсор из базы вместе с _id, все примеры только с Array где нет id. С точки зрения программирования брать значения вместо id, очень плохо.
Re: Seekbar с двумя ползунками
Сообщение KamiSempai » 22 авг 2014, 17:51
Источник