一、介绍

Android-PickerView是一款仿iOS的PickerView控件,并封装了时间选择和选项选择这两种选择器,详细特性如下:

WheelView —— 基础控件带有3D圆弧效果。

支持文字、颜色、大小设置。

支持背景颜色设置。

支持item的分隔线设置。

支持item间距设置。

支持设置是否循环。

OptionsPickerView —— 选项选择器支持一、二、三级联动数据。

支持一、二、三级不联动数据。

支持自定义布局。

支持自定义标题栏。

支持“省,市,区”等选项的单位(label)显示、隐藏和自定义。

支持dialog 模式显示。

支持自定义设置容器。

TimePickerView —— 时间选择器支持选择年、月、日的范围。

支持年月日时分秒显示。

支持设置当前默认时间。

支持自定义布局。

支持自定义标题栏。

支持“年,月,日,时,分,秒”等选项的单位(label)显示、隐藏和自定义。

支持dialog 模式显示。

支持自定义设置容器。

其中,WheelView 可在XML布局中直接引用:

android:id="@+id/wv_options"

android:layout_width="match_parent"

android:layout_height="wrap_content" />1234

TimePickerView —— 时间选择器,支持年月日时分,年月日,年月,时分等格式 ,效果如下:

OptionsPickerView —— 选项选择器,支持一,二,三级选项选择,并且可以设置是否联动 ,效果如下:

二、使用

1.添加 Jcenter 仓库 Gradle 依赖:compile 'com.contrarywind:Android-PickerView:3.x'//注:实际引入请把"3.x"替换成具体版本号,最新版本号请以GitHub上面提供的为准12

2.在项目中添加如下代码://时间选择器

pvTime = new TimePickerView.Builder(MainActivity.this, new TimePickerView.OnTimeSelectListener() {            @Override

public void onTimeSelect(Date date,View v) {//选中事件回调

tvTime.setText(getTime(date));

}

})

.build();

pvTime.show();123456789

或者//条件选择器

pvOptions = new  OptionsPickerView.Builder(MainActivity.this, new OptionsPickerView.OnOptionsSelectListener() {            @Override

public void onOptionsSelect(int options1, int option2, int options3 ,View v) {                //返回的分别是三个级别的选中位置

String tx = options1Items.get(options1).getPickerViewText()

+ options2Items.get(options1).get(option2)

+ options3Items.get(options1).get(option2).get(options3).getPickerViewText();

tvOptions.setText(tx);

}

}).build();

pvOptions.setPicker(options1Items, options2Items, options3Items);

pvOptions.show(); 12345678910111213

简单的两个步骤就能实现功能了,就是这么简单~ 如果默认的样式不符合你的口味,请继续往下看~

三、自定义样式pvTime = new TimePickerView.Builder(MainActivity.this, new TimePickerView.OnTimeSelectListener() {            @Override

public void onTimeSelect(Date date,View v) {//选中事件回调

tvTime.setText(getTime(date));

}

})

.setType(TimePickerView.Type.ALL)//默认全部显示

.setCancelText("Cancel")//取消按钮文字

.setSubmitText("Sure")//确认按钮文字

.setContentSize(18)//滚轮文字大小

.setTitleSize(20)//标题文字大小

.setTitleText("Title")//标题文字

.setOutSideCancelable(false)//点击屏幕,点在控件外部范围时,是否取消显示

.isCyclic(true)//是否循环滚动

.setTitleColor(Color.BLACK)//标题文字颜色

.setSubmitColor(Color.BLUE)//确定按钮文字颜色

.setCancelColor(Color.BLUE)//取消按钮文字颜色

.setTitleBgColor(0xFF666666)//标题背景颜色 Night mode

.setBgColor(0xFF333333)//滚轮背景颜色 Night mode

.setRange(calendar.get(Calendar.YEAR) - 20, calendar.get(Calendar.YEAR) + 20)//默认是1900-2100年

.setDate(new Date())// 默认是系统时间*/

.setLabel("年","月","日","时","分","秒")

.build();1234567891011121314151617181920212223pvOptions = new  OptionsPickerView.Builder(MainActivity.this, new OptionsPickerView.OnOptionsSelectListener() {            @Override

public void onOptionsSelect(int options1, int option2, int options3 ,View v) {                //返回的分别是三个级别的选中位置

String tx = options1Items.get(options1).getPickerViewText()

+ options2Items.get(options1).get(option2)

+ options3Items.get(options1).get(option2).get(options3).getPickerViewText();

tvOptions.setText(tx);

}

})

.setSubmitText("确定")//确定按钮文字

.setCancelText("取消")//取消按钮文字

.setTitleText("城市选择")//标题

.setSubCalSize(18)//确定和取消文字大小

.setTitleSize(20)//标题文字大小

.setTitleColor(Color.BLACK)//标题文字颜色

.setSubmitColor(Color.BLUE)//确定按钮文字颜色

.setCancelColor(Color.BLUE)//取消按钮文字颜色

.setTitleBgColor(0xFF333333)//标题背景颜色 Night mode

.setBgColor(0xFF000000)//滚轮背景颜色 Night mode

.setContentTextSize(18)//滚轮文字大小

.setLinkage(false)//设置是否联动,默认true

.setLabels("省", "市", "区")//设置选择的三级单位

.setCyclic(false, false, false)//循环与否

.setSelectOptions(1, 1, 1)  //设置默认选中项

.setOutSideCancelable(false)//点击外部dismiss default true

.build();

pvOptions.setPicker(options1Items, options2Items, options3Items);//添加数据源1234567891011121314151617181920212223242526272829

android pickerview 多行,Android-PickerView系列之介绍与使用篇(一)相关推荐

  1. android tablelayout 多行,android – 自定义TableLayout,行中有多个TextView

    我想用这样的行来创建自定义TableLayout: 电视用于TextView,即我想在行中添加11个TextView: 每行以标题开头,然后我添加5对TextView,这样表格行就像屏幕一样宽. 这是 ...

  2. android ellipsize 多行,android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法...

    android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法 布局文件中的TextView属性 复制代码 代码如下: android:id="@+id/b ...

  3. android tablelayout 多行,Android入门户五篇之TableLayout (二)//生成10行,8列的表格

    当前位置:我的异常网» Android » Android入门户五篇之TableLayout (二)//生成10行,8 Android入门户五篇之TableLayout (二)//生成10行,8列的表 ...

  4. android iperf 命令行,Android 移植之 iperf

    1 .移植准备 1 ,源代码地址: 2 ,解压到 Adroid_root/external/ iperf-2.0.4.tar.gz; tar –zxvf iperf-2.0.4.tar.gz 2. 创 ...

  5. android 通知多行,Android多行通知,例如Gmail应用

    我正在尝试创建一个多行通知,如Gmail应用程序所示,如下图所示(5个通知分组在一个通知下) 我尝试了各种示例,但似乎只能创建单个通知 public void createSingleNotifica ...

  6. Android-PickerView系列之介绍与使用篇(一)

    声明:本文为博主原创文章,转载请注明出处:小嵩的博客 一.介绍 Android-PickerView是一款仿iOS的PickerView控件,并封装了时间选择和选项选择这两种选择器,详细特性如下: W ...

  7. Android-PickerView系列之源码解析篇(二)

    前言 WheelView想必大家或多或少都有一定了解, 它是一款3D滚轮控件,效果类似IOS 上面的UIpickerview .按照国际惯例,先放一张效果图: 以上是Android-PickerVie ...

  8. Android自定义控件实战——滚动选择器PickerView

    转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/38513301 手机里设置闹钟需要选择时间,那个选择时间的控件就是滚动选择器, ...

  9. Android Studio 单刷《第一行代码》系列 07 —— Broadcast 广播

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  10. Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

最新文章

  1. Spring的控制反转(IOC)和依赖注入(DI)具体解释
  2. 交叉编译并移植opencv3.0.0到arm板
  3. lua学习笔记之协程
  4. 分享20个常用的Python函数,轻松玩转Pandas!!
  5. linux mariadb 乱码,配置mariadb远程访问权限,解决数据库乱码问题
  6. javascript 一些小常用的技巧
  7. (转)如何压缩SQL Server 2005指定数据库文件和日志的大小?
  8. 签名验签服务器性能测试,签名验签服务器 功率
  9. Android开发中gitignore文件模板添加
  10. iOS Your account already has a valid ios Distribution certificate
  11. 按住 ctrl 并滚动鼠标滚轮才可缩放地图_鼠标永远快不过键盘!32组PS常用快捷键你值得拥有!...
  12. dll文件保存到服务器,dll是什么文件?dll文件怎么打开?
  13. 智能人物画像综合分析系统——Day7
  14. 启发式算法 Heuristic
  15. SQL 中的昨天、今天和明天
  16. NoteExpress 自定义参考文献输出样式
  17. win7装xp双系统_UEFI新PC装Win7 32位系统:巧用”硬盘保护卡“解决
  18. 使用multcloud在云盘之间传送文件
  19. 一位在微软公司的粉丝,写给我的信
  20. hal库中的UART使用

热门文章

  1. 什么是少儿Python编程?
  2. 数据分析侠A的成长故事
  3. Pycharm专业版注册教程
  4. Pycharm设置一种好看的皮肤/主题
  5. LINUX下三个内核文件详解(vmlinuz/initrd.img/System.map)
  6. 北京林业大学matlab公选课,【抛砖引玉】一学期结束分享一下部分公选课和通识课经验...
  7. OpenGL.Superbible.7th.Edition(openGL超级宝典第七版)随书例子运行
  8. paip 常用汉字形声字大全3500字
  9. 得到常用汉字的拼音首字母
  10. javascript高级程序设计pdf(JavaScript高级程序设计PDF版)