Android开发中几种有用的的日历控件实现

时间:2021-11-02 15:49:04

我们大家都知道,在Android平台3.0中才新增了日历视图控件,可以显示网格状的日历内容,那么对于3.0以下的版本要使用日历控件只能借助第三方,目前用的最多的是CalendarView。

先简单介绍下CalendarView日历控件的使用。

android.widget.CalendarView是从android.widget.FrameLayout中继承。

CalendarView 类提供了基本的日历设置方法:

long getDate() 获取从1970年,1月1日,0点0分0秒到现在的毫秒数,因为返回是long型最终只能截止到2038年

int getFirstDayOfWeek() //获取当天是本周的第几天,Android123提示返回的定义在java.util.Calendar类中,比如Calendar.Monday为星期一,定义值为2。

long getMaxDate() //获取CalendarView支持1970年到那天的最大天数

long getMinDate() //获取CalendarView支持1970年到那天的最小天数

boolean getShowWeekNumber() //获取是否显示星期号

boolean isEnabled() //是否显示本日历视图

public void setDate (long date, boolean animate, boolean center) //设置选择日期到1970年的描述

void setDate(long date) //设置选择的日期描述到1970年

void setEnabled(boolean enabled) //设置是否启用视图

void setFirstDayOfWeek(int firstDayOfWeek) //设置本周起始天数

void setMaxDate(long maxDate)

void setMinDate(long minDate)

void setOnDateChangeListener(CalendarView.OnDateChangeListener listener) //日历视图修改的接口,这个介绍看下面。

void setShowWeekNumber(boolean showWeekNumber) //设置是否显示周号

有关日历控件CalendarView的设置接口 android.widget.CalendarView.OnDateChangeListener 只实现了一个回调方法void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth)。

这四个参数的具体介绍为

view The view associated with this listener.

year The year that was set.

month The month that was set [0-11].

dayOfMonth The day of the month that was set.

下面给大家展示这几种有用的日历控件效果图:

这是CalendarView的效果图。可以实现上月和下月翻页,设置事件等。

这个日历控件也比较强大,但外观不够友好。

这是我们自己实现的日历控件。可以通过选择日期查询相关数据等操作。

这是Android3.0及以上版本自带的日历控件。

以上关于Android平台中几种有用的日历控件,关于源码bainiu.ltd正在整理中,我将会在随后的时间里发布,敬请期待……