Android 3.0之上的版本提供了一个日历控件。本例将讲解该控件的使用方法。
效果图如下:
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CalendarView calendarView=(CalendarView) findViewById(R.id.calendarView1);
calendarView.setOnDateChangeListener(new OnDateChangeListener() {
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();
}
});
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<CalendarView
android:id="@+id/calendarView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
</RelativeLayout>
其常用的参数设置如下:
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:CalendarView对象。
year:要设置的年。
month:要设置的月份,范围是0-11。
dayOfMonth:要设置每月的某一天。