Github地址

YangsBryant/TeaPickerView
(Github排版比较好,建议进入这里查看详情,如果觉得好,点个star吧!)

引入module

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<>();@Overrideprotected 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: {"广州":["天河区","白云区","番禹区","花都区"],"赣州":["章贡区","黄金开发区"],"东莞":["东城","南城"],"深圳":["南山区","宝安区","龙华区"],"佛山":["禅城区","顺德区"],"南昌":["东湖区","青云谱区","青山湖区"]}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) 默认是50dp
setContentText(int size,int color) 内容栏字体的大小和颜色, 默认是16sp,#0aa666,用此方法会固定颜色
setContentText(ColorStateList drawable) 自定义内容栏字体颜色变换器 在res目录下创建color文件夹用selector 默认颜色#555 选中颜色#0aa666
setContentLine(boolean bl) 内容栏选中是否有下划线 默认不开启
setContentLineColor(Drawable drawable) 自定义内容栏下划线用layer-list 默认是下边框描边 颜色#0fbc72 高度1dp
setLine(int mHeight,int color) 分割线的高度和颜色 默认是0.5dp #e5e5e5
setitemHeight(int mHeight) 设置list的item的高度(dp) 默认是40dp
setListText(int size,int color) 设置list的字体大小和颜色 默认是15 #555
setScrollBal(boolean bl) 设置list是否显示滚动条,默认false
setAlpha(float mFloat) 设置阴影层的透明度 默认是0.5f
setDiscolour(boolean bl) 设置选中项是否加色,默认true
setDiscolourColor(int color) 设置选中项加色的颜色值,默认#0aa666
setDiscolourHook(boolean bl) 设置选中项是否有√图标,默认false
setCustomHook(Drawable drawable) 自定义√图标
build() 参数设置完毕,一定要build一下

设置数据

方法名 属性                  
setInitSelectText(String firstText) 初始文字
setFirstDatas(List mFirstDatas) 设置一级数据
setSecondDatas(Map<String, List> mSecondDatas) 设置二级数据
setThirdDatas(Map<String, List> mThirdDatas) 设置三级数据
setFourthDatas(Map<String, List> mFourthDatas) 设置四级数据

给出参考bean地址

一级ProvinceBean 二级SecondBean 三级ThirdBean

默认内容栏字体颜色变换器

<?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>

无力吐槽,博客园的富文本编辑器真难用

转载于:https://www.cnblogs.com/94xiyang/p/10977826.html

Android TeaPickerView数据级联选择器相关推荐

  1. element ui 级联选择器,渲染后不显示数据

    element ui 的级联选择器只能用 value label 来渲染,而往往后端发给我们的数据并不是按照这个来命名的,所以element ui给我们提供了Props来进行配置 但鉴于本人水平有限, ...

  2. 级联选择器el-cascader处理复杂数据(四层、五层数据),回显部门以及部门下的人员

    注意:参考第五层的数据处理比较nice 当级联选择器需要绑定的数组不再是简易数据,props涉及的字段不再是一个,而是列表里面套列表 比如,我想要获取部门以及下面的员工,如何显示?如下图1所示,后端返 ...

  3. Cascader 级联选择器如何根据给定的叶节点值设置默认值(数据回显)

    转载自:Cascader 级联选择器如何设置默认值(数据回显)_༺举个栗子吧༻的博客-CSDN博客_选择器设置默认值 官网cascader:https://element.eleme.cn/#/zh- ...

  4. vue中级联选择器回填_浅谈Vue使用Cascader级联选择器数据回显中的坑

    业务场景 由于项目需求,需要对相关类目进行多选,类目数据量又特别大,业务逻辑是使用懒加载方式加载各级类目数据,编辑时回显用户选择的类目. 问题描述 使用Cascader级联选择器过程中主要存在的应用问 ...

  5. 关于级联选择器Cascader数据太多会改变列表大小的问题

    1.打开后台控制台中的---元素栏,通过做左侧的标志找到级联选择器的部分 2.然后你在筛选器--element-style{}中输入 max-height:400px(你自己觉得最合适的高度)看看页面 ...

  6. 011_Cascader级联选择器

    1. Cascader级联选择器 1.1. 当一个数据集合有清晰的层级结构时, 可通过级联选择器逐级查看并选择. 1.2. Cascader属性 参数 说明 类型 可选值 默认值 value / v- ...

  7. Cascader 级联选择器

    当一个数据集合有清晰的层级结构时,可通过级联选择器逐级查看并选择. 基础用法 有两种触发子菜单的方式 只需为 Cascader 的options属性指定选项数组即可渲染出一个级联选择器. 通过expa ...

  8. vue利用级联选择器实现全国省市区乡村五级菜单联动

    " 大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂. " 现在是:2022年2月13日20:09:27 今天分享一个五级级联地址的组件的使用吧. 前言 接到这样的一个需求:需要 ...

  9. 前端学习(2002)vue之电商管理系统电商系统之绘制商品分类的级联选择器

    目录结构 router.js import Vue from 'vue' import Router from 'vue-router' import Login from './components ...

  10. vue element-ui级联选择器选中后下拉框自动收起

    Cascader 级联选择器 数据渲染 通过 :options="options" 映射,让每一级都可以选择(选项前会有圆圈可勾选)设置属性 :props="{ chec ...

最新文章

  1. 关于“INS-40922 Invalid Scan Name – Unresolvable to IP address”
  2. 平台战初现 产品从单个智能走向互联
  3. 使用react、antd组件报错TypeError: _this.formRef.current.validateFields is not a function
  4. MySQL运算符,SQL,算术比较逻辑位,优先级,正则表达式,完整详细可收藏
  5. 创建动态链接库时设置导出函数的方法
  6. Oracle(四)多表查询
  7. TraceEventsDB event(跟踪事件)总结
  8. sqlserver操作符篇 优化
  9. Django-admin源码流程
  10. 30 张快速学习 Java 的思维导图
  11. python最简单的画图代码
  12. 可启动 ISO 合并、Windows 安装光盘合集
  13. Wechart 饼图
  14. 计算机二级保存错地方,盘点考计算机二级那些容易出错的地方
  15. 鼠标移上提示框 提示框不消失
  16. TSP问题—Hopfield神经网络算法实现
  17. IOTOS通采盒为BIM运维、GIS、CIM、数字孪生及IBMS高效率、低成本打通数据,接入楼宇园区子系统设备
  18. Matlab 动态输入变量和嵌套函数、匿名函数
  19. 关于504报错的解决方法之一
  20. 永久激活Windows7-最新版本RemoveWAT2.2.6

热门文章

  1. qpython能使用json吗l_现在还能使用土墙吗?
  2. 安装VMware时提示无效驱动器:D:\的解决办法
  3. linux实验项目,实验--项目2_Linux基本命令
  4. len函数实例python_Python通过len函数返回对象长度
  5. mock模拟接口测试_Python接口测试之mock(上)
  6. 用关键字搜索c语言,c语言-以关键字搜索程序
  7. java 约瑟夫环_java中约瑟夫环代码实现
  8. php mysql数据库同步_教你怎样在两台MySQL数据库间实现同步
  9. [codeblocks下实现多个源文件2.0]类声明和成员函数定义的分离实战操作实现
  10. python机器学习乳腺癌细胞模型