前面在学习DatePicker控件时,其中包含了Calendar控件。Calendar控件是一个显示日历的控件的,默认为系统当月当天,也可以切换时间,Android为其提供了多样的风格,可以在布局文件中直接为其设计。具体属性如下
设置首日 : firstDayOfWeek, 设置星期几是每周的第一天, 默认是周日(值为数字,该数字表示第二周,所以若要设置周一为第一天应填2);
选中颜色 : focusedMonthDateColor, 设置选中日期所在月份日期颜色;
最大日期 : maxDate, 设置支持的最大日期, 以 mm/dd/yyyy 格式指定;
最小日期 : minDate, 设置支持的最小日期, 以 mm/dd/yyyy 格式指定;
设置样式 : dateTextAppearance, 设置日期文字显示样式;
选周颜色 : selectedWeekBackgroundColor, 设置被选中日期所在周的背景颜色;
周数显示 : showWeekNumber, 设置是否显示周数;
设置周数 : shownWeekCount, 设置该日历组件一共显示几周;
未选颜色 : unfocusedMonthDateColor, 设置未被选中的月份的日期颜色;
星期样式 : weekDayTextAppearance, 设置星期几的文字样式;
周号颜色 : weekNumberColor, 设置周编号的颜色;
周分割色 : weekSeparatorLineColor, 设置周分隔线颜色;
选中竖线 : selectedDateVerticalBar, 设置被选中日期两边的竖线Drawable, 即R.drawable.int资源(为了方便这里直接引用了项目默认App小机器人,它是将这个图形左右压缩成一条线显示在数字两边)
可以通过设置setOnDateChangeListener(OnDateChangeListener)监听器获取改变的日期。
布局XML代码如下
<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:firstDayOfWeek="2"
android:focusedMonthDateColor="#0c00ec"
android:selectedDateVerticalBar="@drawable/ic_launcher"
android:selectedWeekBackgroundColor="#ff2727"
android:weekNumberColor="#000000"
android:weekSeparatorLineColor="#2cff2f"
android:unfocusedMonthDateColor="#f100c2"
android:shownWeekCount="5"/>
</RelativeLayout>
效果图如下