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:要设置每月的某一天。