Android CalendarView

分享到:

CalendarView是Android3.0以后才加入的日历控件,可以通过代码获取日期也可以设置初始化的日期,用户通过上下滑动来切换月份,通过点击屏幕上的日期数字来选中具体某一天,效果如下图所示:

CalendarView实例

第一列表示全年的第几周, 当前周会高亮显示,当天日期会在高亮范围内突出显示,如上图中的"12"日。

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(); //是否显示本日历视图

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:CalendarView对象
year:要设置的年
month:要设置的月份,范围是0-11
dayOfMonth:要设置每月的某一天

一个CalendarView例子:

public class CalendarActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

CalendarView calendarView=(CalendarView) findViewById(R.id.calendarView1);
calendarView.setOnDateChangeListener(new OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month,
int dayOfMonth) {
// TODO Auto-generated method stub
String date = year + "年" + month + "月" + dayOfMonth + "日";
Toast.makeText(getApplicationContext(), date, 0).show();
}
});
}
}

CalendarView控件通常配合DatePickerTimePicker一起使用。

昵    称:
验证码:

相关文档:

Android控件
Android基础知识
Android组件
Android实例