功能:WheelView时间选择器(区分大小月、平闰年2月的天数)

2019-04-14 16:43发布

实现一波时间选择器,可以获取到当前滚动轮项选择的年月日(北京时间格式和Unix时间格式的都有)。效果图如下: 6306319-1a71e313fc228bda.png WheelView时间选择器效果

一.使用过程:

通过滑动年月日三列,选中需要设置的日期,点击确定后可以获取到设置的日期(北京时间格式或者Unix时间格式)

二.实现:

1、依赖:

6306319-f1fd21fbc208b7b7.png 添加依赖

2、布局:

这个布局只写三列表的,"确定"按钮就不写上去了 6306319-09528ff185c24a52.png 年月日列表的布局

3、声明/初始化控件:

6306319-58f9d8c6b9fd1270.png 必要的声明 6306319-170b080ffe8d723a.png 初始化控件

4、设置当前滚轮为当天年月日,添加年月日适配器,年月日滚轮滚动事件内逻辑:

6306319-f6892661060c15f3.png 对年份列表的操作 6306319-ec27953b1817e089.png 对月/日的数据操作

5、初始化年月日的数据:

6306319-077ce89ae8d1ef9a.png 初始年月日数据

6、月份滚轮内滚动事件(判断大小月、平闰年2月的逻辑):

6306319-d8dae880e2e51ea1.png 大小月/平闰年2月天数

7、滚轮内的年月日(String)及其转成Unix的年月日(String):

birthday = 2017年08月14日babyBirthday = 1502640000 6306319-33d2e3049a17e39c.png 两种格式的时间

8、7中的转化逻辑(倒数第二行代码中的方法):

6306319-b2ca9b86c92c2da7.png 图片发自简书App 结束。