时间选择器:MaterialCalendarView控件使用

一、简介
这几天有一个界面需要选择时间的界面,以前都是用Android 自带日期选择器(DatePicker和DatePickerDialog),显示效果是滚动式,和正在做的APP风格不搭,主要想实现日历风格时间选择器,于是选择了 MaterialCalendarView。
MaterialCalendarView将Android CalendarView 的Material Design风格向后移植。其目标是拥有Material的视觉和使用效果,而不是完全依赖于平台的实现.
Github:https://github.com/prolificinteractive/material-calendarview
CalendarView的特性

  • 基于Canvas绘制,极速性能

  • 热插拔思想,任意定制周视图、月视图,即插即用

  • 支持单选、多选、范围选择、国内手机日历默认自动选择等选择模式

  • 支持静态、动态设置周起始,一行代码搞定

  • 支持静态、动态设置日历项高度、日历填充模式

  • 支持设置任意日期范围、任意拦截日期

  • 支持多点触控、手指平滑切换过渡,拒绝界面抖动

  • 类NestedScrolling特性,嵌套滚动

  • 既然这么多支持,那一定支持英语、繁体、简体,任意定制实现
    效果图如下:


    示例.png

    二、使用
    Step 1. Add the JitPack repository to your build file

     allprojects {
           repositories {
                ...
               maven { url 'https://jitpack.io' }
           }
      }
    

Step 2. Add the dependency

   implementation 'com.github.prolificinteractive:material-calendarview:1.6.0'

2、布局

<com.prolificinteractive.materialcalendarview.
    MaterialCalendarView    
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/materialCalendarView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:theme="@style/CustomTextAppearance"
    app:mcv_showOtherDates="all"
    app:mcv_selectionColor="#0080FF"
    app:mcv_arrowColor="@color/white"
    app:mcv_dateTextAppearance="@dimen/text_size"
    app:mcv_weekDayTextAppearance="@dimen/text_size"
    app:mcv_headerTextAppearance="@dimen/text_size"
/>

mcv_dateTextAppearance、mcv_weekDayTextAppearance、mcv_headerTextAppearance
以上这三个属性调节不同区域字体大小貌似无效,具体字体大小在自定义样式中设置即可,但是不能去掉这三个属性否则有可能导致设置字体大小无效

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

推荐阅读更多精彩内容