好久没写博客了。发现很多常用的东西,用过之后,时间一久就淡忘了。总是缺乏总结。最近公司要做一个日历签到的功能。需求如下:
根据后台安排值班,正常值班签到的,为绿色圆点,安排了值班却未进行签到的红色圆点表示,其余的不标注圆点。
于是找了github,在上面发现了两个很好的组件案例。
1、https://github.com/MagicMashRoom/SuperCalendar
2、https://github.com/huanghaibin-dev/CalendarView
将其分别按需求修改后做成的demo效果图如下:
demo1:集成自SuperCalendar
demo2:集成自CalendarView
下面就两个日历组件的使用做个整理,以备日后使用。
一、因为在项目中使用了recycleView,所以需要在build.gradle文件中,添加依赖如下图:
二、引入第三方项目库资源:
三、在activity的xml布局中,添加日历组件
四、在activity中初始化日历组件:
五、需要使用到的基本方法:
1、添加日历下标进行签到、未签到的区分
2、月份切换:
3、日期选择的点击事件:
一、因为在项目中使用了recycleView,所以需要在build.gradle文件中,添加依赖如下图:
二、导入第三方库资源
三、在activity的xml文件中添加自定义的日历组件,路径需替换为自己项目的路径
其中month_view是月视图展示的模板,可根据需求自定义;week_view是星期布局的样式,可根据需求自定义。
四、在activity中实现日历的监听事件
重写监听事件的方法:
五、使用的方法:
1、上一个月与下一个月切换的方法
2、日期选择事件监听
3、自定义月视图按需求绘制圆形圆点:
注意点:
这三个地方里面用到了自定义控件的路径,需要替换成自己项目的路径。
附:两个demo地址
https://download.csdn.net/download/zxf_2016/10673760
https://download.csdn.net/download/zxf_2016/10673824