Skip to content
黄海彬 edited this page May 10, 2018 · 4 revisions

CalendarView介绍

CalendarView是Android上一款优美、高效、可自由定制的日历控件,它基于Canvas绘制,优势也相当明显,相比其它基于RecyclerView和ListView的日历,可节省300+View的内存;同时它使用了可插拔设计,你可以像Behavior一样来设计你需要的UI,控件本身已经做好了各种坐标和逻辑,你只需要在绘制日历的地方,使用Canvas绘制你需要的UI即可,可以说是真正的万能自定义日历控件,不怕美工提需求。CalendarView本身是组合控件,因此星期栏、月视图、周视图、年视图、CalendarLayout等都有各自的作用,如果你的需求不需要他们,你完全可以忽略。

CalendarView定制方法

1、它支持控制周起始,不同的美工有不同的审美,你可以通过week_start_with这个attr来控件日历的周起始,支持周六、周日、周一三个(如果审美真的反人类到要周二、周三、周四等作为周起始,这种就不提供支持了,当然如果有需要,改动一个CalendaUtil这个类的几个方法即可,无非就是增加几个条件语句) 2、既然可以定制周起始了,那肯定可以定制星期栏WeekBar,你只需要继承一下即可,需要的逻辑,父类WeekBar都已经做好 3、定制你的周、月视图,分别继承MonthView和WeekView,两个视图的实现逻辑完全一样,自行定制,可参考demo,demo只是参考,照搬不一定满足你的需求 4、既然说到可以定制,那肯定可以控制月视图的显示模式,例如不显示相邻两个月份的日期,这个不需要该代码,自行设置month_view_show_mode即可

Clone this wiki locally