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

OSCHINA-MIRROR/YangsBryant-TeaPickerView

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

TeaPickerView

Введение модуля

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://www.jitpack.io' }
    }
}
implementation 'com.github.YangsBryant:TeaPickerView:1.0.2'

Основной код

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.mButton)
    Button button;
    
    List<String> mProvinceDatas=new ArrayList<>();
    Map<String, List<String>> mSecondDatas= new HashMap<>();
    Map<String, List<String>> mThirdDatas= new HashMap<>();

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind( this );
        intiPickerView();
    }

    private  void intiPickerView(){
        //一级列表
        ProvinceBean provinceBean = new ProvinceBean();
        mProvinceDatas.addAll(provinceBean.getRepData().getProvince());

        //二级列表
        SecondBean secondBean = new SecondBean();
        mSecondDatas.putAll(secondBean.getRepData().getSecond());

        //三级列表
        ThirdBean thirdBean = new ThirdBean();
        mThirdDatas.putAll(thirdBean.getRepData().getThird());

        Log.i("json", JsonArrayUtil.toJson(mProvinceDatas));
        Log.i("json",JsonArrayUtil.toJson(mSecondDatas));
        Log.i("json",JsonArrayUtil.toJson(mThirdDatas));

        //设置数据有多少层级
        PickerData data=new PickerData();
        data.setFirstDatas(mProvinceDatas);//json: ["广东","江西"]
        data.setSecondDatas(mSecondDatas);//json: {"江西":["南昌","赣州"],"广东":["广州","深圳","佛山","东莞"]}
        data.setThirdDatas(mThirdDatas);//json: {"广��zhou":["天河区","白云区","番禹区","花都区"],"赣州":["章贡区","黄金开发区"],"东莞":["东城","南城"],"深圳":["南山区","宝安区","龙华区"],"佛山":["禅城区","顺德区"],"南昌":["东湖区","青云谱区","青山湖区"]}

        data.setInitSelectText("请选择");

        TeaPickerView teaPickerView =new TeaPickerView(this,data);
        teaPickerView.setScreenH(3)
                .setDiscolourHook(true)
                .setRadius(25)
                .setContentLine(true)
                .setRadius(25)
                .build();

        button.setOnClickListener(v -> {
            //显示选择器
            teaPickerView.show(button);
        });

        //选择器点击事件
        teaPickerView.setOnPickerClickListener(pickerData -> {
            Toast.makeText(MainActivity.this,pickerData.getFirstText()+","+pickerData.getSecondText()+","+pickerData.getThirdText(),Toast.LENGTH_SHORT).show();
            teaPickerView.dismiss();//关闭选择器
        });
    }
}

TeaPickerView свойства

Метод Свойство
setHeights(int mHeight) Отображение конкретной высоты (dp), установка 0 — это адаптация (высота не имеет значения по умолчанию, необходимо установить её вручную)
setScreenH(int num) Отображаемая высота в процентах от экрана
setBackground(int color) Установка общего цвета фона (по умолчанию #ffffff)
setRadius(int mRadius) Установка радиуса скругления углов, по умолчанию 0
setContentBackground(int color) Цвет фона панели содержимого (по умолчанию #ffffff)
setContentHeight(int mHeight) Высота панели содержимого (dp) (по умолчанию 50 dp)
setContentText(int size,int color) Размер и цвет шрифта панели содержимого, по умолчанию 16 sp, #0aa666, использование этого метода приведёт к фиксированному цвету
setContentText(ColorStateList drawable) Пользовательский цвет шрифта для панели содержимого, изменение цвета с помощью селектора в каталоге res, по умолчанию цвет #555, выбранный цвет #0aa666
setContentLine(boolean bl) Наличие подчёркивания для выбранного элемента на панели содержимого, по умолчанию отключено
setContentLineColor(Drawable drawable) Пользовательская линия под панелью содержимого с использованием layer-list, по умолчанию нижняя граница с тенью, цвет #0fbc72, высота 1 dp
setLine(int mHeight,int color) Толщина и цвет разделительной линии, по умолчанию 0,5 dp, #e5e5e5
setitemHeight(int mHeight) Настройка высоты элементов списка (dp), по умолчанию 40 dp
setListText(int size,int color) Настройка размера и цвета шрифта списка, по умолчанию 15, #555
setScrollBal(boolean bl) Включение или отключение отображения полосы прокрутки списка, по умолчанию false
setAlpha(float mFloat) Прозрачность слоя тени, по умолчанию 0,5f
setDiscolour(boolean bl) Выбор включения или отключения изменения цвета для выбранных элементов, по умолчанию true
setDiscolourColor(int color) Выбор цвета для изменённых выбранных элементов, по умолчанию #0aa666
setDiscolourHook(boolean bl) Выбор наличия или отсутствия значка √ для выбранных элементов, по умолчанию false
setCustomHook(Drawable drawable) Настраиваемый значок √
build() Завершение настройки параметров, обязательно вызовите build

Изменение цвета шрифта по умолчанию в панели содержимого:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="@color/picker_select_text_color"/>
    <item android:state_pressed="true" android:color="@color/picker_select_text_color"/>
    <item android:state_checked="true" android:color="@color/picker_select_text_color"/>
    <item android:state_focused="true" android:color="@color/picker_select_text_color"/>
    <item android:color="@color/picker_text_color"/>
</selector>

Подчёркивание текста по умолчанию в нижней части панели содержимого:

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 边框颜色值 -->
    <item>
        <shape>
            <solid android:color="@color/station_average" />
        </shape>
    </item>
    <item android:bottom="1dp"> <!--设置只有底部有边框-->
        <shape>
            <solid android:color="#ffffff" />
        </shape>
    </item>
</layer-list>

Связаться с нами можно по QQ: 961606042.

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

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

Введение

Дата каскад селектор, иерархическая структура, множественный отбор данных, маст стар. Развернуть Свернуть
EPL-1.0
Отмена

Обновления

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

Участники

все

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

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