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

OSCHINA-MIRROR/zhuangguangquan-TickSeekBar

Клонировать/Скачать

A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

Permissions
  • Commercial use
  • Modification
  • Distribution
  • Patent use
  • Private use
Limitations
  • Trademark use
  • Liability
  • Warranty
Conditions
  • License and copyright notice
  • State changes
README.md 8.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 00:36 3a74493

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 )

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

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