前言
(当前测试系统版本 Android 8.0)
关于这个组件,我只想对在座的使用者说一句:
为啥我要这么说呢? 当然是看淡生死(疯狂尝试之后)才敢说的呀。
大家跟我来,我们来看看,首先我们在布局文件(xml)文件中添加
android:id="@+id/calendarView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
然后,运行我们的代码,可以看到,我们期待的日历出现啦!!!
那么,它的监听事件是啥呢?我们来瞧瞧:
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
//显示用户选择的日期
Toast.makeText(CalendarviewActivity.this,year + "年" + month + "月" + dayOfMonth + "日",Toast.LENGTH_SHORT).show();
}
});
是不是很简单!是的,显示监听很简单。emmmmmmm,但是,我们无从下手它的其他属性,比如,我想修改一下它选中日期的背景ser.... emmmmmmm 反正我设置了半天都没用。
但是,我永远不会亏,我反手就收集了它的一些相关的xml属性。我们来瞧一瞧
属性
说明
备注
android:dateTextAppearance=""
设置该日历视图的日期文字的样式
道行太浅,暂未用到
android:firstDayOfWeek=""
设置每周第一天,允许设置周一到周日任意一天作为每周的第一天
实测有效 数字3对应周二、4对应周三、1对应周日
android:focusedMonthDateColor="@color/bule_zhu"
设置获取焦点的月份的日期文字的颜色
实测无用
android:maxDate="07/27/2019"
设置该日历组件支持的最大日期,以mm/dd/yyyy格式设置指定最大日期
实测有用
android:minDate="07/24/2019"
设置该日历组件支持的最小日期,以mm/dd/yyyy格式设置指定最小日期
实测有用
android:selectedDateVerticalBar="@color/white"
设置绘制在选中日期两边额竖线对应额Drawable
实测无用
android:selectedWeekBackgroundColor="@color/white"
设置被选中周的背景色(白色)
实测无用
android:showWeekNumber="true"
设置是否显示第几周
已经过时,实测无用
android:shownWeekCount ="3"
设置该日历组件总共显示几个星期
已经过时,实测无用
android:unfocusedMonthDateColor="@color/white"
设置没有焦点的月份的日期文字的颜色
已经过时,实测无用
android:weekDayTextAppearance="@color/white"
设置星期几的文字样式
道行太浅,暂未用到
android:weekNumberColor ="@color/white"
设置显示周编号的颜色
已经过时,实测无用
android:weekSeparatorLineColor="@color/white"
设置周分割线的颜色
已经过时,实测无用
android:background="@color/red9"
设置整体背景颜色/图片
实测可用
经过我七七四十五分钟的试验,我得出了如上的结论。
然而,我还是没有解决我的问题,怎么改变点击之后的背景颜色,每当我遇到棘手的问题的时候,我一点都不慌,机智的我在广大网友的文章中发现了一个终极绝招,我们直接改变它的默认颜色。
修改我们的项目的style中的
@color/red
我们运行试试。
嘿嘿,这样子,我们就达到了我们的目的,实在是佩服网上的大佬。
好了,这篇文章先到这里,后期有新的的再补充(客套话)。