尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

3步接入Material CalendarView:选日期、标事件、选范围一次搞定

3步接入Material CalendarView:选日期、标事件、选范围一次搞定 3步接入Material CalendarView选日期、标事件、选范围一次搞定【免费下载链接】material-calendarviewA Material design back port of Androids CalendarView项目地址: https://gitcode.com/gh_mirrors/ma/material-calendarview给App加个日期选择器Android自带的CalendarView用起来顺手但标不了事件、做不了范围选择样式也改不动。Material CalendarView就是为这类需求做的日历外观遵循Material Design支持单选、多选、范围选三种模式还能给指定日期打上事件标记。下面用三步把跑通。 三步快速上手gradle里怎么加依赖allprojects { repositories { maven { url https://jitpack.io } } } dependencies { implementation com.github.prolificinteractive:material-calendarview:2.0.0 }这一步做两件事把JitPack仓库加进项目再拉入组件依赖版本号可以换成你需要的最新版。布局里怎么声明MaterialCalendarViewcom.prolificinteractive.materialcalendarview.MaterialCalendarView xmlns:apphttp://schemas.android.com/apk/res-auto android:idid/calendarView android:layout_widthmatch_parent android:layout_heightwrap_content app:mcv_showOtherDatesall app:mcv_selectionColor#00F /这一步把日历视图放进XML顺便就能决定“是否显示非本月日期”和“选中色”省得之后再写代码调。初始化怎么配置日期边界MaterialCalendarView view findViewById(R.id.calendarView); view.state().edit() .setFirstDayOfWeek(Calendar.MONDAY) .setMinimumDate(CalendarDay.from(2024, 1, 1)) .setMaximumDate(CalendarDay.from(2024, 12, 31)) .setCalendarDisplayMode(CalendarMode.WEEKS) .commit();这一步值得单独说这几个属性是“状态”用state构建器一次性改完、commit()统一生效比逐个调用setter少触发多次日期范围重算行为也更可预期。 什么场景用什么功能单选、多选、范围选怎么选模式三种模式各管一件事单选是“挑一个日期”多选是“挑几个不相邻的日子”范围选是“定头尾、中间全算上”。用setSelectionMode切换范围模式下用户只点两下——起点和终点——中间的日期自动被选中监听里直接拿到整个区间。怎么给日期打上事件标记用户要“一眼看出哪几天有内容”比如会议日历、生日提醒。做法是实现一个DayViewDecoratorshouldDecorate里判断该日期要不要标记decorate里用addSpan加一个小圆点最后addDecorator挂到日历上。仓库里EventDecorator示例就是这个思路的完整写法。怎么禁用过去或特定日期控件只该选未来日期时打卡不能补过去的、报名截止后不能再点同样是装饰器判断命中就setDaysDisabled(true)命中的日期直接点不动。DisableDaysActivity里有现成写法可参考。 能用在哪些地方两个真实场景预订入住和离店一次拖完需求用户选定入住日、离店日中间天数要有高亮。对应能力范围选模式 区间选中监听 装饰器给范围内日期上底色再配合setMinimumDate把过去的日期挡掉。整个选期过程就两次点击。考勤排班已办和待办分开标需求月度视图里区分“已打卡”和“已排班”的日期。对应能力不用选择模式两个装饰器各管一类标记——事件圆点和背景色状态构建器把显示范围限定在本月区间。完整写法看BasicActivityDecorated。下一步打开示例对照着改就行装饰器文档、自定义选项文档、基础示例。【免费下载链接】material-calendarviewA Material design back port of Androids CalendarView项目地址: https://gitcode.com/gh_mirrors/ma/material-calendarview创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表