[免费]For Android, a calendar widget. Include YearView and MonthView, week mode. 日历控件,包含年历和月历,周历,月周历切换,实现了年月过渡动画。各种自定义样式。

项目结构:

CalendarView

一个Android日历控件库,包含年历,月历,滚动月历,以及一个实现了年历、月历过渡的控件。它们既可以单独使用,也可以组合使用。 主要特点是包含丰富的自定义属性;年历月历可以为某一天添加各种样式的decorator。支持android api 11以上。

Thanks for ScrollerCalendar, a material style calendar widget library, contains some widget, you can be use them alone, also you can use them in combination. For Android api level 11+.


GIF预览:

gif



主要功能简介

  • 包含年历,月历。并且每个控件都有全方面的自定义属性。
  • 为某一天添加自定义文字样式和背景。
  • 包含滚动月历。支持滑动显示其它月份。
  • 支持多种监听。
  • 类似小米日历实现的,月历和周历上滑切换功能。
  • 支持disable;禁选,单选,多选,范围选择。
  • 提供一个帮助实现年历到月历的过渡动画的viewgroup。

添加到项目中

Android Studio用户,在项目的build.gradle中添加该dependencies:

compile "com.missmess.calendarview:calendarview:2.5.3"

从2.2.0及以下升级到2.4.0的请注意: 1、由于2.4.0增加了控件对多选和范围选择的支持。原来MonthView中跟selection相关的方法有部分已经被删除或者修改。 2、同样由于对多选的支持。周历滑动时,由于要保留多选模式下的selections,控件不再默认选中下一周的某一天,这里跟小米日历已经不一样了。其它方面在实现时已经尽量保持一致。


主要API

介绍一下主要的控件和api,更详细的可以下载demo来了解~

1、YearView

年历,显示一年的所有日期。YearView提供了16个自定义属性,用于完全定义你想要的布局:

可以通过setDecors方法为YearView设置decorators。setDecors方法对于其它的控件都可用。详细见 这里

截图:

image1

2、MonthView

月历。提供了17个自定义属性来控制MonthView布局。

截图:

image2

3、MonthViewPager

可滚动的月历,左右滑动或点击indicator切换显示的月份。

使用MonthViewPager需要在xml中为它设置一个子view。这个子view只可以用来添加属性,但是不可以通过findViewById使用它。这个子view仅用作定义样式。

截图:

gif2

4、TransitRootView

这个viewgroup用来控制年历和月历之间的过渡。在xml中需要使用TransitRootView作为根布局,增加两个子view或viewgroup,它们分别包含你的YearView和MonthView(或者MonthViewPager)。 顺序不能颠倒,否则达不到指定的效果。详见demo。

提供了多个自定义属性用来控制过渡过程:

5、DayDecor和Style

DayDecor可以为某一个显示的天,添加多种样式的Decorator或定义文字样式。示例:

6、周历到月历切换

1、支持月历周历的竖直滑动切换。需要配合nested scrolling。示例:

2、如果不需要嵌套垂直滑动切换week/month mode。则不要使用behavior即可。同时提供直接在代码中进行切换。

通过上述步骤就能实现周历、月历切换功能。


接下来的工作

还有一些工作需要完善:

1、 强化DayDecor的功能,包括对样式(加粗、斜体),任意背景,任意字体颜色的自定义。

2、 增加月历上滑显示到周历的功能。类似于小米日历的效果。

3、周历上切换时,默认设置selection也根据切换变化。

4、设置某一天disable属性


 


CopyRight:missmess

下载地址:微信扫一扫,关注下方【毕业设计组织】公众号,请回复数字”6915“获取下载链接