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简单应用相关推荐

  1. Android PickerView的简单使用

    PickerView简单使用 简介 导入依赖 代码调用 第一种:TimePickerView 第二种:OptionsPickerView 最后 简介 PickerView,Android滚动选择器.最 ...

  2. Android Studio简单设置

    2019独角兽企业重金招聘Python工程师标准>>> Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面 ...

  3. 简单Android手机APP地图,android最简单手机地图APP(只需5分钟)

    android最简单手机地图APP--只有三部分. 第一部分 首先建立一个MapActivity在setContentView(R.layout.activity_map);中创建一个代码如下. [h ...

  4. android仿微信的activity平滑水平切换动画,Android实现简单底部导航栏 Android仿微信滑动切换效果...

    Android实现简单底部导航栏 Android仿微信滑动切换效果 发布时间:2020-10-09 19:48:00 来源:脚本之家 阅读:96 作者:丶白泽 Android仿微信滑动切换最终实现效果 ...

  5. 【转】Android Studio简单设置

    原文网址:http://ask.android-studio.org/?/article/14 Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以 ...

  6. Android JNI简单实例(android 调用C/C++代码)

    转载自 xiechengfa 最终编辑 xiechengfa Android JNI简单实例关键字: android.jni Android的jni实例 android 的应用程序(Dalvik VM ...

  7. android Glide简单使用

    今天,简单讲讲Android里Glide的简单使用. Android框架系列: 一.android EventBus的简单使用 二.android Glide简单使用 对于Glide这个加载图片的框架 ...

  8. android加法服务类,iOS越来越像Android:苹果简单做加法远离精致

    原标题:iOS越来越像Android:苹果简单做加法远离精致 刚刚结束的WWDC2016的主题演讲中,苹果为我们带来了最新的iOS 10系统,官方称本次iOS 10的推出有着多大10项的重要更新,在用 ...

  9. android平台的计时功能,Android实现简单计时器功能

    本文实例为大家分享了Android实现简单计时器的具体代码,供大家参考,具体内容如下 布局 在res/layout 下进行布局 xmlns:android="http://schemas.a ...

最新文章

  1. RESTful之自动生成接口文档
  2. redhat7.0配置网卡
  3. java io流学设置编码_Java学习日志(21-2-IO流-基本数据类型与字节数组对象与、编码解码)...
  4. React开发(109):引用错误 报错
  5. 【Javascript 拾遗之三】Closure 闭包
  6. 数据结构大作业_大数据课程笔记
  7. C#GDI绘制渐变线条,可用于添加阴…
  8. SharedPreferences的使用,android
  9. js判断浏览器是否安装或启用了flash的方法总结
  10. mysql数据库安全吗_mysql数据库的安全
  11. 网易云音乐java爬虫_Java爬取网易云音乐民谣并导入Excel分析
  12. 企业盈利能力五大指标之:净利率
  13. sklearn svm 调参_sklearn调参(验证曲线,可视化不同参数下交叉验证得分)
  14. DataV可视化大屏-基本操作说明
  15. Windows配置互联网访问检测服务器-IspSrv
  16. 一篇文章,带你走进Java
  17. mysql 时间戳转换为时间_将MYSQL数据库里的时间戳转换成时间
  18. 哥哥与弟弟的游戏故事
  19. 个人简历(java基础入门)
  20. android+连接隐藏wifi,SSID隐藏后手机如何连接?手机连接隐藏ssid无线网络教程

热门文章

  1. 【笔记】CentOS 6-7 静默安装Oracle11g
  2. 《高效休息法》书中的精髓:在繁重的工作及生活压力下,我们如何有效地休息,塑造不易疲劳的大脑?
  3. 双目标定(二)单目标定基本原理
  4. 转载系列【检测】| CVPR2020:Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Trai
  5. 客户流失定义和详细分析
  6. java 字面量_Java字面量
  7. 狼人琵琶计算机谱子,浪人琵琶钢琴简谱-数字双手-摩登兄弟
  8. 透露年薪千万的工作感悟
  9. 修复IE9下oninput事件(原生,jq)
  10. 关于stm32通信协议:软件模拟SPI、软件模拟I2C的总结(fishing_8)