本文介紹Android平臺(tái)上幾種有用的的日歷控件。
我們大家都知道,在Android平臺(tái)3.0中才新增了日歷視圖控件,可以顯示網(wǎng)格狀的日歷內(nèi)容,那么對(duì)于3.0以下的版本要使用日歷控件只能借助第三方,目前用的最多的是CalendarView。
先簡(jiǎn)單介紹下CalendarView日歷控件的使用。
android.widget.CalendarView是從android.widget.FrameLayout中繼承。
CalendarView 類提供了基本的日歷設(shè)置方法:
long getDate() 獲取從1970年,1月1日,0點(diǎn)0分0秒到現(xiàn)在的毫秒數(shù),因?yàn)榉祷厥莑ong型最終只能截止到2038年
int getFirstDayOfWeek() //獲取當(dāng)天是本周的第幾天,Android123提示返回的定義在java.util.Calendar類中,比如Calendar.Monday為星期一,定義值為2。
long getMaxDate() //獲取CalendarView支持1970年到那天的最大天數(shù)
long getMinDate() //獲取CalendarView支持1970年到那天的最小天數(shù)
boolean getShowWeekNumber() //獲取是否顯示星期號(hào)
boolean isEnabled() //是否顯示本日歷視圖
public void setDate (long date, boolean animate, boolean center) //設(shè)置選擇日期到1970年的描述
void setDate(long date) //設(shè)置選擇的日期描述到1970年
void setEnabled(boolean enabled) //設(shè)置是否啟用視圖
void setFirstDayOfWeek(int firstDayOfWeek) //設(shè)置本周起始天數(shù)
void setMaxDate(long maxDate)
void setMinDate(long minDate)
void setOnDateChangeListener(CalendarView.OnDateChangeListener listener) //日歷視圖修改的接口,這個(gè)介紹看下面。
void setShowWeekNumber(boolean showWeekNumber) //設(shè)置是否顯示周號(hào)
有關(guān)日歷控件CalendarView的設(shè)置接口 android.widget.CalendarView.OnDateChangeListener 只實(shí)現(xiàn)了一個(gè)回調(diào)方法void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth)。
這四個(gè)參數(shù)的具體介紹為
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的效果圖?梢詫(shí)現(xiàn)上月和下月翻頁(yè),設(shè)置事件等。
這個(gè)日歷控件也比較強(qiáng)大,但外觀不夠友好。
這是我們自己實(shí)現(xiàn)的日歷控件?梢酝ㄟ^(guò)選擇日期查詢相關(guān)數(shù)據(jù)等操作。
這是Android3.0及以上版本自帶的日歷控件。
以上關(guān)于Android平臺(tái)中幾種有用的日歷控件,關(guān)于源碼我正在整理中,我將會(huì)在隨后的時(shí)間里發(fā)布,敬請(qǐng)期待……