Android原生日历控件小结

一、CalendarView

这个控件最无语了,XML属性设置全都没效果,想着是设置style吧,结果设置了选中效果的颜色,控件全乱了,最后,代码动态设置,也没用,后来只能改colorAccent的颜色,先上原有的图:


TIM截图20170803144559.png

然后需求是修改选中的颜色:
<item name="colorAccent">@color/colorAccent</item>
目前发现只能在项目的Theme中改这个属性的颜色:


TIM截图20170803145320.png

二、DatePicker

先上默认效果图:


TIM截图20170803150655.png

1、XML属性:

  • android:datePickerMode
    属性可选calendar或spinner,默认是calendar,calendar的效果将默认效果图,spinner的效果将见下图:


    TIM截图20170803151051.png
  • android:spinnersShown 和 android:calendarViewShown
    这两个属性,如果android:datePickerMode为calendar的话则无效,所以只针对spinner,下面分几种情况:
    1、android:spinnersShown="false"和android:calendarViewShown="false"或者android:spinnersShown="true"和android:calendarViewShown="true":
    与上面效果图一样
    2、android:spinnersShown="false"和android:calendarViewShown="true":


    TIM截图20170803152101.png

    没错,就是CalendarView
    3、android:spinnersShown="true"和android:calendarViewShown="true":


    TIM截图20170803152334.png

    就是日期联动控件
  • android:headerBackground
    在calendar模式下,修改头部背景颜色
  • 其他属性情况和CalendarView一样,无语

三、TimePicker

先上图默认情况:


TIM截图20170803155306.png

1、XML属性:

  • android:timePickerMode:两种选择,clock和spinner,默认是clock,也就是上面的效果,spinner效果这样见下图


    TIM截图20170803155909.png
  • android:numbersTextColor(1)、android:numbersSelectorColor(2)、android:numbersBackgroundColor(3):


    TIM截图20170803161722.png

四、总结

Android原生的日历,个人觉得,不好用,不方便,无法满足太多的需求,另外补充,对应的有TimePickerDialog和DatePickerDialog。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,497评论 0 17
  • 最近项目中用到自定义日历组件,找来找去,最后发现GitHub的material-calendarview这个项目最...
    colin2017阅读 1,556评论 0 0
  • 第一节课,我就很乱,很乱。
    马有宝阅读 169评论 1 6
  • 1 过年是这个被群山包围的小村庄最热闹、也是最冷的时候。 陈阿婆佝偻着背坐在家门口的小板凳上,她穿了厚重的棉衣,戴...
    李小狼不狼阅读 3,746评论 117 198