系统使用详解之日历控件

来源:互联网 发布:dagger2 源码解析 编辑:程序博客网 时间:2024/05/21 17:57

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