关于Android日历视图控件CalendarView

您所在的位置:网站首页 如何绘制日历背景图 关于Android日历视图控件CalendarView

关于Android日历视图控件CalendarView

2024-03-16 15:15| 来源: 网络整理| 查看: 265

目录 简要介绍 CalendarView 的特性 简要实现代码与效果演示 ClendarView常见属性及方法 简单实现日期选择

添加监听事件 获得具体日期 具体实现代码 实现效果 ClendarView attrs 使用ClendarView实现的不同风格日历欣赏 总结

简要介绍

CalendarView是Android上一个优雅、高度自定义、性能高效的日历控件,完美支持周视图,支持标记、自定义颜色、农历等,任意控制月视图显示、任意日期拦截条件、自定义周起始等。

CalendarView 的特性 基于Canvas绘制,极速性能 热插拔思想,任意定制周视图、月视图,即插即用 支持单选、多选、范围选择、国内手机日历默认自动选择等选择模式 支持静态、动态设置周起始,一行代码搞定 支持静态、动态设置日历项高度、日历填充模式 支持设置任意日期范围、任意拦截日期 支持多点触控、手指平滑切换过渡,拒绝界面抖动 类NestedScrolling特性,嵌套滚动 既然这么多支持,那一定支持英语、繁体、简体,任意定制实现

简要实现代码与效果演示

下面展示CalendarView最简单的使用方法。

实现效果: 在这里插入图片描述

ClendarView常见属性及方法

属性 说明 android:dateTextAppearance="" 设置该日历视图的日期文字的样式 android:firstDayOfWeek="" 设置每周第一天,允许设置周一到周日任意一天作为每周的第一天 android:maxDate="" 设置该日历组件支持的最大日期,以mm/dd/yyyy格式设置指定最大日期 android:minDate="" 设置该日历组件支持的最小日期,以mm/dd/yyyy格式设置指定最小日期 android:background="" 设置整体背景颜色/图片 android:weekDayTextAppearance 工作日的文本出现在日历标题缩写

方法 说明 boolean isWeekend() 判断是不是周末,可以用不同的画笔绘制周末的样式 int getWeek() 获取星期 String getSolarTerm() 获取24节气,可以用不同颜色标记不同节日 String getGregorianFestival() 获取公历节日,自由判断,把节日换上喜欢的颜色 String getTraditionFestival() 获取传统节日 boolean isLeapYear() 是否是闰年 int getLeapMonth() 获取闰月 boolean isSameMonth(Calendar calendar) 是否相同月 int compareTo(Calendar calendar) 比较日期大小 long getTimeInMillis() 获取时间戳 int differ(Calendar calendar) 日期运算,相差多少天

简单实现日期选择

添加监听事件

在主活动中添加监听事件CalendarView.OnDateChangeListener ,在用户选择日期时触发相关效果(例:选择日期背景颜色改变)

获得具体日期

在主活动中,为其添加监听事件后

可以通过 day, month, dayOfMonth 来获得用户选择的日期的具体信息:

具体实现代码 public class MainActivity extends AppCompatActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); CalendarView calendarview = (CalendarView) findViewById(R.id.calendarview); calendarview.setOnDateChangeListener(new CalendarView.OnDateChangeListener() { @Override public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { Toast.makeText(MainActivity.this,"您选择的时间是:"+ year + "年" + month + "月" + dayOfMonth


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3