Android PickerView简单应用
1. Android-PickerView
Android-PickerView这是一款仿iOS的PickerView
控件,有时间选择器和选项选择器。
添加依赖项
implementation 'com.contrarywind:Android-PickerView:4.1.9'
2. 时间选择器
Android-PickerView
时间选择器使用Build
模式来创建
var timePickerView = TimePickerBuilder(context) { date, v ->}.build()
timePickerView.show()
显示如下
TimePickerBuilder
主要方法
方法 | 说明 |
---|---|
setType(boolean[] type) | 分别控制“年”“月”“日”“时”“分”“秒”的显示或隐藏,type长度为6 |
setDate(Calendar date) | 调用Calendar的set方法来设置时间 |
setRangDate(Calendar startDate, Calendar endDate) | 设置起始时间 |
setCancelText(String textContentCancel) | 设置取消按钮文字 |
setCancelColor(int textColorCancel) | 设置取消文字颜色 |
setSubmitText(String textContentConfirm) | 设置确认按钮文字 |
setSubmitColor(int textColorConfirm) | 设置确认文字颜色 |
setSubCalSize(int textSizeSubmitCancel) | 设置取消和确认按钮文字大小 |
setTitleText(String textContentTitle) | 设置标题文字 |
setTitleColor(int textColorTitle) | 设置标题文字颜色 |
setTitleSize(int textSizeTitle) | 设置标题文字大小 |
setTitleBgColor(int bgColorTitle) | 设置标题栏颜色 |
setBgColor(int bgColorWheel) | 设置背景颜色 |
setOutSideColor(int outSideColor) | 设置外部背景颜色,默认是灰色 |
setContentTextSize(int textSizeContent) | 设置内容文字大小 |
setItemVisibleCount(int count) | 设置可见数目,最好是奇数,默认是9 |
setTextColorCenter(int textColorCenter) | 设置分割线之间的文字的颜色 |
setTextColorOut(int textColorOut) | 设置分割线以外的文字的颜色 |
setDividerColor(int dividerColor) | 设置分割线颜色 |
setDividerType(WheelView.DividerType dividerType) | 设置分割线样式,默认是FILL |
setLineSpacingMultiplier(float lineSpacingMultiplier) | 设置间隔倍距,只能在1.0-4.0f之间,默认是1.6 |
isCyclic(boolean cyclic) | item是否循环 |
setLabel(String, String, String, String, String, String) | 默认设置为年月日时分秒 |
isCenterLabel(boolean isCenterLabel) | 是否只显示中间选中项的label文字 |
setOutSideCancelable(boolean cancelable) | 是否允许点击外部取消 |
isDialog(boolean isDialog) | 是否是对话框模式 |
setDecorView(ViewGroup decorView) | 选择器会被添加到此容器中 |
自定义参数
var timePickerView = TimePickerBuilder(this) { date, v ->}.setType(booleanArrayOf(true, true, true, true, false, false)).setCancelText("Cancel").setCancelColor(Color.GRAY).setSubmitText("Confirm").setSubmitColor(Color.MAGENTA).setSubCalSize(15).setTitleText("Title").setTitleColor(Color.RED).setTitleSize(25).setTitleBgColor(Color.BLACK).setBgColor(Color.BLACK).setContentTextSize(20).setItemVisibleCount(11).setTextColorCenter(Color.RED).setTextColorOut(Color.MAGENTA).setOutSideColor(Color.GRAY).setDividerColor(Color.CYAN).setDividerType(WheelView.DividerType.WRAP).setLineSpacingMultiplier(2.5f).isCyclic(true).isCenterLabel(true).build()timePickerView.show()
显示如下
3. 选项选择器
Android-PickerView
选项选择器同样使用Build
模式来创建,并且支持3级联动。
var optionsPickerView = OptionsPickerBuilder(this) { option1, option2, option3, v ->}.build<String>()optionsPickerView.setNPicker(hourList, minuteList, secondList)var calendar = Calendar.getInstance()
optionsPickerView.setSelectOptions(calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND))
optionsPickerView.show()
显示如下
OptionsPickerBuilder
主要方法
方法 | 说明 |
---|---|
setCancelText(String textContentCancel) | 设置取消按钮文字 |
setCancelColor(int textColorCancel) | 设置取消文字颜色 |
setSubmitText(String textContentConfirm) | 设置确认按钮文字 |
setSubmitColor(int textColorConfirm) | 设置确认文字颜色 |
setSubCalSize(int textSizeSubmitCancel) | 设置取消和确认按钮文字大小 |
setTitleText(String textContentTitle) | 设置标题文字 |
setTitleColor(int textColorTitle) | 设置标题文字颜色 |
setTitleSize(int textSizeTitle) | 设置标题文字大小 |
setTitleBgColor(int bgColorTitle) | 设置标题栏颜色 |
setBgColor(int bgColorWheel) | 设置背景颜色 |
setOutSideColor(int outSideColor) | 设置外部背景颜色,默认是灰色 |
setContentTextSize(int textSizeContent) | 设置内容文字大小 |
setItemVisibleCount(int count) | 设置可见数目,最好是奇数,默认是9 |
setTextColorCenter(int textColorCenter) | 设置分割线之间的文字的颜色 |
setTextColorOut(int textColorOut) | 设置分割线以外的文字的颜色 |
setDividerColor(int dividerColor) | 设置分割线颜色 |
setDividerType(WheelView.DividerType dividerType) | 设置分割线样式,默认是FILL |
setLineSpacingMultiplier(float lineSpacingMultiplier) | 设置间隔倍距,只能在1.0-4.0f之间,默认是1.6 |
setCyclic(boolean cyclic1, boolean cyclic2, boolean cyclic3) | item是否循环 |
setLabels(String label1, String label2, String label3) | 设置单位字符 |
isCenterLabel(boolean isCenterLabel) | 是否只显示中间选中项的label文字 |
setOutSideCancelable(boolean cancelable) | 是否允许点击外部取消 |
isDialog(boolean isDialog) | 是否是对话框模式 |
setDecorView(ViewGroup decorView) | 选择器会被添加到此容器中 |
isRestoreItem(boolean isRestoreItem) | 切换选项时,是否还原后面选项,默认保持上一个选项 |
自定义参数
var optionsPickerView = OptionsPickerBuilder(this) { option1, option2, option3, v ->
}.setCancelText("Cancel").setCancelColor(Color.GRAY).setSubmitText("Confirm").setSubmitColor(Color.MAGENTA).setSubCalSize(15).setTitleText("Title").setTitleColor(Color.RED).setTitleSize(25).setTitleBgColor(Color.BLACK).setBgColor(Color.BLACK).setContentTextSize(20).setItemVisibleCount(11).setTextColorCenter(Color.RED).setTextColorOut(Color.MAGENTA).setOutSideColor(Color.GRAY).setDividerColor(Color.CYAN).setDividerType(WheelView.DividerType.WRAP).setLineSpacingMultiplier(2.5f).setCyclic(false, true, true).setLabels("时", "分", "秒").isCenterLabel(true).build<String>()optionsPickerView.setNPicker(hourList, minuteList, secondList)
var calendar = Calendar.getInstance()
optionsPickerView.setSelectOptions(calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND))optionsPickerView.show()
显示如下
选项内容需要在OptionsPickerView
里面设置
方法 | 说明 |
---|---|
setPicker(List optionsItems) | 设置联动选项 |
setPicker(List options1Items, List<List> options2Items) | 设置联动选项 |
setPicker(List options1Items, List<List> options2Items, List<List<List>> options3Items) | 设置联动选项 |
setNPicker(List options1Items, List options2Items, List options3Items) | 设置选项,非联动情况下使用 |
setSelectOptions(int option1) | 设置默认选中项 |
setSelectOptions(int option1, int option2) | 设置默认选中项 |
setSelectOptions(int option1, int option2, int option3) | 设置默认选中项 |
设置联动项,切换选项时,重置下一项
var optionsPickerView = OptionsPickerBuilder(this) { option1, option2, option3, v ->}.isRestoreItem(true).setItemVisibleCount(11).build<String>()optionsPickerView.setPicker(provinceList, cityList, areaList)
optionsPickerView.setSelectOptions(2, 5, 5)
optionsPickerView.show(v)
显示如下
Android PickerView简单应用相关推荐
- Android PickerView的简单使用
PickerView简单使用 简介 导入依赖 代码调用 第一种:TimePickerView 第二种:OptionsPickerView 最后 简介 PickerView,Android滚动选择器.最 ...
- Android Studio简单设置
2019独角兽企业重金招聘Python工程师标准>>> Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面 ...
- 简单Android手机APP地图,android最简单手机地图APP(只需5分钟)
android最简单手机地图APP--只有三部分. 第一部分 首先建立一个MapActivity在setContentView(R.layout.activity_map);中创建一个代码如下. [h ...
- android仿微信的activity平滑水平切换动画,Android实现简单底部导航栏 Android仿微信滑动切换效果...
Android实现简单底部导航栏 Android仿微信滑动切换效果 发布时间:2020-10-09 19:48:00 来源:脚本之家 阅读:96 作者:丶白泽 Android仿微信滑动切换最终实现效果 ...
- 【转】Android Studio简单设置
原文网址:http://ask.android-studio.org/?/article/14 Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以 ...
- Android JNI简单实例(android 调用C/C++代码)
转载自 xiechengfa 最终编辑 xiechengfa Android JNI简单实例关键字: android.jni Android的jni实例 android 的应用程序(Dalvik VM ...
- android Glide简单使用
今天,简单讲讲Android里Glide的简单使用. Android框架系列: 一.android EventBus的简单使用 二.android Glide简单使用 对于Glide这个加载图片的框架 ...
- android加法服务类,iOS越来越像Android:苹果简单做加法远离精致
原标题:iOS越来越像Android:苹果简单做加法远离精致 刚刚结束的WWDC2016的主题演讲中,苹果为我们带来了最新的iOS 10系统,官方称本次iOS 10的推出有着多大10项的重要更新,在用 ...
- android平台的计时功能,Android实现简单计时器功能
本文实例为大家分享了Android实现简单计时器的具体代码,供大家参考,具体内容如下 布局 在res/layout 下进行布局 xmlns:android="http://schemas.a ...
最新文章
- RESTful之自动生成接口文档
- redhat7.0配置网卡
- java io流学设置编码_Java学习日志(21-2-IO流-基本数据类型与字节数组对象与、编码解码)...
- React开发(109):引用错误 报错
- 【Javascript 拾遗之三】Closure 闭包
- 数据结构大作业_大数据课程笔记
- C#GDI绘制渐变线条,可用于添加阴…
- SharedPreferences的使用,android
- js判断浏览器是否安装或启用了flash的方法总结
- mysql数据库安全吗_mysql数据库的安全
- 网易云音乐java爬虫_Java爬取网易云音乐民谣并导入Excel分析
- 企业盈利能力五大指标之:净利率
- sklearn svm 调参_sklearn调参(验证曲线,可视化不同参数下交叉验证得分)
- DataV可视化大屏-基本操作说明
- Windows配置互联网访问检测服务器-IspSrv
- 一篇文章,带你走进Java
- mysql 时间戳转换为时间_将MYSQL数据库里的时间戳转换成时间
- 哥哥与弟弟的游戏故事
- 个人简历(java基础入门)
- android+连接隐藏wifi,SSID隐藏后手机如何连接?手机连接隐藏ssid无线网络教程
热门文章
- 【笔记】CentOS 6-7 静默安装Oracle11g
- 《高效休息法》书中的精髓:在繁重的工作及生活压力下,我们如何有效地休息,塑造不易疲劳的大脑?
- 双目标定(二)单目标定基本原理
- 转载系列【检测】| CVPR2020:Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Trai
- 客户流失定义和详细分析
- java 字面量_Java字面量
- 狼人琵琶计算机谱子,浪人琵琶钢琴简谱-数字双手-摩登兄弟
- 透露年薪千万的工作感悟
- 修复IE9下oninput事件(原生,jq)
- 关于stm32通信协议:软件模拟SPI、软件模拟I2C的总结(fishing_8)