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

OSCHINA-MIRROR/zhuangguangquan-TickSeekBar

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

TickSeekBar

Это настраиваемая библиотека SeekBar для Android. Также, если вам нужен индикатор для отображения верхней части панели поиска, пожалуйста, посмотрите другую библиотеку (https://github.com/warkiz/IndicatorSeekBar).

Обзор

Скриншот

Демо

Скачать

Сканируйте QR-код для скачивания:

Настройка

implementation 'com.github.warkiz.tickseekbar:tickseekbar:0.1.4'

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

XML

<com.warkiz.tickseekbar.TickSeekBar
    android:id="@+id/listener"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tsb_ticks_count="5"
    app:tsb_thumb_color="@color/colorAccent"
    app:tsb_thumb_size="16dp"
    app:tsb_show_tick_marks_type="oval"
    app:tsb_tick_marks_color="@color/colorAccent"
    app:tsb_tick_marks_size="8dp"
    app:tsb_show_tick_texts="above"
    app:tsb_tick_texts_color="@color/color_pink"
    app:tsb_tick_texts_size="13sp"
    app:tsb_track_background_color="@color/color_gray"
    app:tsb_track_background_size="2dp"
    app:tsb_track_progress_color="@color/color_blue"
    app:tsb_track_progress_size="3dp" />

Java

TickSeekBar seekBar = TickSeekBar
             .with(getContext())
             .max(200)
             .min(10.2f)
             .progressValueFloat(true)
             .progress(33)
             .tickCount(7)
             .showTickMarksType(TickMarkType.DIVIDER)
             .tickMarksColor(getResources().getColor(R.color.color_blue))
             .tickMarksSize(6)//dp
             .tickTextsSize(13)//sp
             .showTickTextsPosition(TextPosition.ABOVE)
             .tickTextsColorStateList(getResources().getColorStateList(R.color.selector_tick_texts_3_color))
             .thumbColor(Color.parseColor("#ff0000"))
             .thumbSize(14)
             .trackProgressColor(getResources().getColor(R.color.colorAccent))
             .trackProgressSize(4)
             .trackBackgroundColor(getResources().getColor(R.color.color_gray))
             .trackBackgroundSize(2)
             .build();

Пользовательский раздел треков цвета

Цвет каждого блока панели поиска также может быть настроен.

sectionSeekBar.customSectionTrackColor(new ColorCollector() {
    @Override
    public boolean collectSectionTrackColor(int[] colorIntArr) {
        //длина colorIntArray равна количеству секций
        colorIntArr[0] = getResources().getColor(R.color.color_blue, null);
        colorIntArr[1] = getResources().getColor(R.color.color_gray, null);
        colorIntArr[2] = Color.parseColor("#FF4081");
        ...
        return true; //True, если применить цвет, иначе не изменится
    }
});

Поддерживаются селектор drawable и color

Вы можете установить StateListDrawable или ColorStateList для большого пальца, tickMarks; также поддерживается ColorStateList для tickTexts. Формат использования в соответствии с:

Селектор для большого пальца:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--этот drawable для большого пальца при нажатии-->
    <item android:drawable="@mipmap/ic_launcher_round" android:state_pressed="true" /> **Для пальца в обычном состоянии:**
```

Селектор цвета для пальца:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--этот цвет для пальца, который находится в нажатом состоянии-->
    <item android:color="@color/colorAccent" android:state_pressed="true" />
    <!--для пальца, который в обычном состоянии-->
    <item android:color="@color/color_blue" />
</selector>

Drawable для TickMarks селектора:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--это drawable для TickMarks при нажатии-->
    <item android:drawable="@mipmap/ic_launcher_round" android:state_selected="true" />
    <!--для TickMarks в обычном-->
    <item android:drawable="@mipmap/ic_launcher" />
</selector>

Цвет для TickMarks селектора:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--этот цвет для отметок, которые находятся слева от пальца-->
    <item android:color="@color/colorAccent" android:state_selected="true" />
    <!--для отметок, которые справа от пальца-->
    <item android:color="@color/color_gray" />
</selector>

Цвет для TickTexts селектора:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--этот цвет для текстов, которые слева от пальца-->
    <item android:color="@color/colorAccent" android:state_selected="true" />
    <!--для текста галочки, которая остановилась под пальцем -->
    <item android:color="@color/color_blue" android:state_hovered="true" />
    <!--для текстов, которые справа от пальца-->
    <item android:color="@color/color_gray" />
</selector>

Listener

seekBar.setOnSeekChangeListener(new OnSeekChangeListener() {
        @Override
        public void onSeeking(SeekParams seekParams) {
            Log.i(TAG, seekParams.seekBar);
            Log.i(TAG, seekParams.progress);
            Log.i(TAG, seekParams.progressFloat);
            Log.i(TAG, seekParams.fromUser);
            //когда количество тиков > 0
            Log.i(TAG, seekParams.thumbPosition);
            Log.i(TAG, seekParams.tickText);
        }

        @Override
        public void onStartTrackingTouch(TickSeekBar seekBar) {
        }

        @Override
        public void onStopTrackingTouch(TickSeekBar seekBar) {
        }
});

Proguard

-dontwarn com.warkiz.tickseekbar.**

Attributes

attr.xml

Поддержка и контакты

Спасибо: С тех пор как я опубликовал QR-код в документации, я получил некоторую поддержку от своих друзей из Китая, хотя сумма небольшая, но некоторые слова поддержки и ободрения все равно заставляют меня чувствовать себя счастливым, большое спасибо.

Спасибо всем моим друзьям, которые поддерживали меня раньше. Если вы хотите поддержать меня в следующий раз, вы можете написать свой адрес GitHub, и я размещу ссылку здесь, чтобы мы могли поддерживать друг друга.

Благодарю вас за вашу поддержку.

Не стесняйтесь обращаться ко мне, если у вас возникнут проблемы с этим проектом:

  1. Создайте проблему.
  2. Отправьте мне письмо по адресу «warkiz».concat("4j").concat("@").concat("gmail.com")

Лицензия

Copyright (C) 2017 zhuangguangquan warkiz

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Комментарии ( 0 )

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

Введение

Это библиотека для создания пользовательского компонента SeekBar для Android. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zhuangguangquan-TickSeekBar.git
git@api.gitlife.ru:oschina-mirror/zhuangguangquan-TickSeekBar.git
oschina-mirror
zhuangguangquan-TickSeekBar
zhuangguangquan-TickSeekBar
master