1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xyz321-XyzInfo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 8.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 14.03.2025 03:57 da7fb77

XyzInfo

     Настройка компонентов Switch и Ruler

Интерфейс

 [Загрузить демо](https://github.com/zhangxuyang321/XyzInfo/blob/master/apk/demo.apk)
  ![1](https://git.oschina.net/xyz321/XyzInfo/raw/master/ui/2.gif)

Описание

     xSwitch | xRuler
    --- | ---
    Поддерживает настраиваемый цвет фона и ползунка          | Поддерживает два режима отображения
    Поддерживает анимацию плавного перехода цвета            | Поддерживает вертикальные и горизонтальные делители
    Поддерживает настраиваемую радиальную закругленность      | Поддерживает настраиваемый цвет и размер указателя
    Поддерживает настраиваемое соотношение ширины и высоты    | Поддерживает настраиваемое количество пикселей между делителями (шаг)
    Поддерживает настраиваемое соотношение размера ползунка и фона | Поддерживает настраиваемую ширину делителей
    Поддерживает настраиваемое изображение (рекомендовано серого цвета) и его размеры | Поддерживает настраиваемую базовую единицу делителей (наименьшая единица делителя)
    Поддерживает настраиваемое время перемещения ползунка     | Поддерживает настраиваемый диапазон значений
                                                              | Поддерживает настраиваемый цвет и размер шрифта
                                                              | Поддерживает настраиваемую минимальную скорость перемещения ползунка
                                                              | Поддерживает настраиваемое расстояние между делителями и текстом                                                                 | Поддерживает анимацию возврата границ |
                                                              | Поддерживает Fling перемещение |
                                                              | Поддерживает установку значения по умолчанию |
                                                              | Поддерживает настраиваемое время базовой анимации возврата |

Использование xSwitch

     Из-за использования ColorMatrix серого изображения превращается в белое, поэтому icon должен быть серым изображением
Gradle
      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" />

Использование xRuler

Включение в Gradle

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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xyz321-XyzInfo.git
git@api.gitlife.ru:oschina-mirror/xyz321-XyzInfo.git
oschina-mirror
xyz321-XyzInfo
xyz321-XyzInfo
master