Настройка компонентов Switch и Ruler
[Загрузить демо](https://github.com/zhangxuyang321/XyzInfo/blob/master/apk/demo.apk)

xSwitch | xRuler
--- | ---
Поддерживает настраиваемый цвет фона и ползунка | Поддерживает два режима отображения
Поддерживает анимацию плавного перехода цвета | Поддерживает вертикальные и горизонтальные делители
Поддерживает настраиваемую радиальную закругленность | Поддерживает настраиваемый цвет и размер указателя
Поддерживает настраиваемое соотношение ширины и высоты | Поддерживает настраиваемое количество пикселей между делителями (шаг)
Поддерживает настраиваемое соотношение размера ползунка и фона | Поддерживает настраиваемую ширину делителей
Поддерживает настраиваемое изображение (рекомендовано серого цвета) и его размеры | Поддерживает настраиваемую базовую единицу делителей (наименьшая единица делителя)
Поддерживает настраиваемое время перемещения ползунка | Поддерживает настраиваемый диапазон значений
| Поддерживает настраиваемый цвет и размер шрифта
| Поддерживает настраиваемую минимальную скорость перемещения ползунка
| Поддерживает настраиваемое расстояние между делителями и текстом | Поддерживает анимацию возврата границ |
| Поддерживает Fling перемещение |
| Поддерживает установку значения по умолчанию |
| Поддерживает настраиваемое время базовой анимации возврата |
Из-за использования ColorMatrix серого изображения превращается в белое, поэтому icon должен быть серым изображением
compile 'com.xyz.xswitch:xswitch:1.0.1'
Атрибут | Описание | Тип | По умолчанию | Обязательный
--- | --- | --- | --- | ---
xRadian | Радиальная закругленность | dimension | 45dp | нет
xASPECTRATIO | Соотношение ширины и высоты | float | 0.37f | нет
xASPEERRATIO | Соотношение размера ползунка и фона | float | 0.56f | нет
xIconWidth | Ширина изображения | dimension | 80dp | нет
xIconHeight | Высота изображения | dimension | 80dp | нет
xBackgroundFromColor | Начальный цвет фона | color | #ff443c6f | нет
xBackgroundToColor | Конечный цвет фона | color | #ffff5a73 | нет
xSliderFromColor | Начальный цвет ползунка | color | #ffff5a73 | нет
xSliderToColor | Конечный цвет ползунка | color | #ff443c6f | нет
xChangedTime | Время перемещения ползунка | int | 300ms | нет
xLeftIcon | Левое изображение | reference | null | да
xRightIcon | Правое изображение | reference | null | да
```
XyzSwitch xSwitch = (XyzSwitch) findViewById(R.id.);
```#### Код разметки
<com.xyz.xswitch.XyzSwitch
android:id="@+id/xswitch"
android:layout_width="200dp"
android:layout_height="80dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="35dp"
app:xIconHeight="40dp"
app:xIconWidth="40dp"
app:xLeftIcon="@mipmap/lady"
app:xRadian="40dp"
app:xChangedTime="100"
app:xRightIcon="@mipmap/man" />
implementation 'com.xyz.xruler:xruler:1.0.3'
```#### Описание атрибутов
| Атрибут | Описание | Тип | По умолчанию | Обязательность |
| --- | --- | --- | --- | --- |
| rBorderWidth | Ширина границы (в режиме указателя — ширина указателя) | размер | 8 | Нет |
| rBorderColor | Цвет границы (в режиме указателя — цвет указателя) | цвет | Color.BLUE | Нет |
| rLineColor | Цвет линий делений | цвет | Color.WHITE | Нет |
| rTrigonSize | Размер треугольника в режиме границы | размер | 20 | Нет |
| rPixel | Минимальный размер деления в пикселях | целое число | 15 | Нет |
| rStep | Минимальная единица деления | целое число | 1 | Нет |
| rLineWidth | Ширина линий делений | размер | 2 | Нет |
| rTextSize | Размер текста делений | размер | 30 | Нет |
| rTextColor | Цвет текста делений | цвет | Color.WHITE | Нет |
| rLineHeight | Высота линий делений | размер | 25 | Нет |
| rLineToText | Расстояние между текстом делений и линиями | размер | 35 | Нет |
| rBegin | Начальное значение шкалы | целое число | 0 | Нет |
| rEnd | Конечное значение шкалы | целое число | 1000 | Нет |
| rMinVelocity | Минимальная скорость для активации эффекта инерции | целое число | 500 | Нет |
| rAnimTime | Базовое время анимации отскока | целое число | 300 | Нет |
| rIndicateHeight | Разница высоты указателя (чем больше значение, тем ниже указатель) | размер | 0 | Нет |
| rIsRect | Является ли режим границей | булево | true | Нет |
| rIsTop | Находится ли линия делений сверху | булево | true | Нет |#### Пример кода
```java
/**
* Установка выбранного элемента
*/
ruler1.setOnSelectItem(new XyzRuler.SelectItem() {
@Override
public int setSelectItem() {
return 60;
}
});
/**
* Отслеживание изменения значений при перетаскивании
*/
ruler1.setOnRulerValueChangeListener(new XyzRuler.RulerValue() {
@Override
public void value(int value) {
tv1.setText("Вес\n" + value + "\nкг");
}
});
```
<com.xyz.xruler.XyzRuler android:id="@+id/ruler1" android:layout_width="242dp" android:layout_height="56dp" app:rAnimTime="100" app:rBegin="40" app:rBorderColor="#acF1ff" app:rBorderWidth="5dp" app:rEnd="300" app:rLineHeight="10dp" app:rLineWidth="3dp" app:rTextSize="10dp" app:rTrigonSize="20dp" /> ```
Лицензия Apache версии 2.0
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )