material-calendarview日历控件详解,使用方法

这篇博文没有对代码进行封装,因为那位写这个代码的大哥已经封装的不能再封装了,在这里仅仅只是对这个控件进行使用说明,先看效果一睹为快:


不仅仅只有这些功能哦!

github源码链接

首先一定要仔细看github上的项目说明(其实已经说的很详细了):

Usage 使用

添加库:compile 'com.prolificinteractive:material-calendarview:1.4.0'

布局添加控件:MaterialCalendarView 

点击事件别忘记了:OnDateSelectedListener

到这里不要以为剩下的按照项目源码里的操作就可以了,

需要注意的是源码里的库是material-calendarview:1.3.0,

当然你也可以导入1.3.0的版本,在github中也是有说明的:

mcv.state().edit()
  .setFirstDayOfWeek(Calendar.WEDNESDAY)
  .setMinimumDate(CalendarDay.from(2016, 4, 3))
  .setMaximumDate(CalendarDay.from(2016, 5, 12))
  .setCalendarDisplayMode(CalendarMode.WEEKS)
  .commit();
这是1.4.0与1.3.0不同的地方(感觉新版更屌一些)

在源码里面有一个dynamic setters test模块,对它进行一下说明(献给英语不好的各位):

1.other dates其它的日期
    other months 月(显示前一个后一个月的日期)
    out of range超出范围
    decorated disabled 装饰禁用
    select days outside  month选择天超出月范围的(多出的日期可选择)
2.month mode 月模式显示
3.week mode 周模式显示
4.selection mode 选择模式
    no selsction 不可以选择
    single date 选择一个
    multiple dates 多个日期
5.toggle topbar 切换topbar(不显示年月)
6.previous以前的一个月
7.next 下一个月
8.set min date 设置最小日期之前不可选
9.set max date 设置最大日期之后不可选
10.set selected date设置默认选的一个日期
11.random colors随机颜色(选中的颜色)
12.set width and height 设置每个数据的宽高
13.clear selection 清空选择
14.paging enabled分页功能(否则只能选中一个月的日期)

顺便说一下布局属性:

        app:mcv_allowClickDaysOutsideCurrentMonth="true"允许按当前月份的天数
        app:mcv_showOtherDates="all"                    本月外其它的日期可以被选中
        app:mcv_arrowColor=""                           箭头颜色
        app:mcv_calendarMode=""                         日历模式
        app:mcv_dateTextAppearance=""                   日期文本外观
        app:mcv_firstDayOfWeek=""                       星期一
        app:mcv_headerTextAppearance=""                 标题文本外观
        app:mcv_leftArrowMask=""                        左箭头面具
        app:mcv_monthLabels=""                          月标签
        app:mcv_rightArrowMask=""                       右箭头面具
        app:mcv_selectionColor=""                       选择颜色
        app:mcv_weekDayLabels=""                        周标签
        app:mcv_weekDayTextAppearance=""                周日期的文本外观

对日历控件的说明就这些了。

看这位大牛的代码总是给我一种用牛刀杀鸡的感觉,同样的也学习到了很多。

推荐给大家一个好用的框架:

Android Studio上方便使用butterknife注解框架的偷懒插件Android Butterknife Zelezny

Butter Knife 使用方法译文

Butterknife使用详解









  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: calendarview控件Android中自带的一个日历控件,可以展示日历的月份、日期等信息。美柚App是一款备孕怀孕期的助手应用,其中的孕期日历是非常重要的功能之一。通过对比美柚App孕期日历calendarview控件的属性,可以轻松地仿制出类似的孕期日历功能。 首先,需要修改calendarview控件的样式和颜色,使其更接近美柚App的设计风格。可以通过修改控件的属性和调整资源文件中的样式来实现。 其次,需要添加日期的标注和提示信息,例如月经期、排卵期、预计分娩日期等。该功能可以通过在calendarview中设置特定日期的标记和点击事件来实现。 最后,需要实现在孕期日历中显示当天是否受孕、孕周数、宝宝大小等信息。这需要在代码中进行计算,根据用户输入的信息和当前时间来动态展示相应的信息。可以通过创建一个类来处理计算和展示相关信息的逻辑,并将其与calendarview控件关联起来。 综上所述,仿制美柚App的孕期日历需要对calendarview控件的样式、功能和计算逻辑进行修改和扩展。通过合理地利用已有的控件和资源,可以轻松地实现一个类似的应用。 ### 回答2: calendarview控件Android开发中常用的日历选择控件,它可以以日历的形式展示日期,并允许用户通过手势或点击选择日期,常见的属性包括日期的显示格式、日期的范围、当前选中日期等。在美柚app中,有一个孕期日历模块,用户可以通过这个模块记录自己的孕期信息,包括日期、孕周、体重、胎动等,通过分析这些信息,可以为用户提供个性化的孕期建议和咨询服务。 在实现类似美柚app孕期日历的功能时,我们可以使用calendarview控件来展示日期,并通过自定义布局和样式来实现不同的日期显示效果。比如,为了突出当前选中日期,我们可以通过设置选中日期的背景色或添加高亮边框来实现。为了支持选择日期范围,我们可以通过设置日期的最小值和最大值来限制用户选择的日期。同时,为了展示孕周和其他信息,我们可以自定义日期的布局,将孕周等信息与日期一起展示,从而更方便用户使用和理解。 除了上述基本的属性和布局方案,我们还可以通过添加动画效果、支持多语言等方式优化用户体验,从而让我们的控件更加实用和易用。总之,calendarview控件在实现类似美柚app孕期日历的功能时,具有很大的优势和灵活性,在开发中需要根据实际需求进行具体的调整和优化,以达到最佳的用户体验和效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值