好久没写博客了。发现很多常用的东西,用过之后,时间一久就淡忘了。总是缺乏总结。最近公司要做一个日历签到的功能。需求如下:
根据后台安排值班,正常值班签到的,为绿色圆点,安排了值班却未进行签到的红色圆点表示,其余的不标注圆点。
自定义日历组件
于是找了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

相关文章: