滚动时间选择器recyclerview_Android RecyclerView日期选择控件进化版

在App应用开发中有很多时候我们都需要用到日期选择,比如出行日期,日期备忘录等,也有专门针对日历开发的App,今天这里就是一个基于RecyclerView实现的高效率日历控件。

device-2016-12-21-095818.png

1.创建一个activity_calendar.xml布局文件

xmlns:calendar="http://schemas.android.com/apk/res-auto"

android:orientation="vertical"

android:background="@color/white"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/day_picker"

android:layout_width="match_parent"

android:layout_height="wrap_content"

calendar:colorSelectedDayBackground="@color/color_48c4fe"

calendar:colorNormalDay="@android:color/black"

calendar:colorMonthName="@android:color/black"

calendar:colorDayName="@android:color/black"

calendar:textSizeDay="14sp"

calendar:textSizeMonth="14sp"

calendar:textSizeDayName="14sp"

calendar:currentDaySelected="false"

calendar:colorPreviousDay="@android:color/darker_gray"

calendar:enablePreviousDay="false"

calendar:selectedDayRadius="18dp"

calendar:showMonthDay="false"

calendar:selectSingle="true"

calendar:drawRoundRect="false"/>

DayPickerView的属性说明:

colorSelectedDayBackground:选中日期的背景颜色

calendar:colorNormalDay:未选中的日期字体颜色

colorMonthName:周的字体颜色(一,二...)

textSizeDay:数字日的字体大小(1,2,3号...)

textSizeMonth:年月的字体大小(2017年1月)

textSizeDayName:周的字体大小(一,二,三...)

currentDaySelected:是否默认选中当前日期(今天)

colorPreviousDay:最小日期之前的日期颜色(灰色日期)

enablePreviousDay:最小日期之前的日期是否可选(灰色日期)

drawRoundRect:选中日期的背景样式,圆形或者方形

selectedDayRadius:选中日期背景的圆角大小

headerMonthHeight:年月以及周的空间高度

calendarHeight :日期空间的高度

------------我是加强部分--------------

showMonthDay是否显示周(一,二,三...)

selectSingle当前是多选模式还是单选模式

2.代码使用部分

设置最小的可选日期

mDayPickerView.setMinDay(calendar);

设置最大日期需要实现接口DatePickerController,按照年计算,可选部分直到设置年份的今天

Paste_Image.png

单选逻辑实现方法

Paste_Image.png

多选逻辑实现

Paste_Image.png

device-2016-12-21-091705.png

删除选择的日期

mDayPickerView.getSelectedDays().setFirst(null);

mDayPickerView.getSelectedDays().setLast(null);

//刷新日历

mDayPickerView.setUpAdapter();

calendar.gif

如果需要了解这个日历的前身,请点击我,说了这么多,没有源码就是耍流氓

源码传送门

日历后期将会根据研究持续更新,如果你喜欢,那就一起来研究吧,后期我将会给大家带来更多实用,可靠并且拓展性强大的控件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值