重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.项目中需要向系统日历添加日程,怎么添加就不多说了,百度一大堆,这文章主要解决准时或者提前多久闹钟提醒(CalendarContract.Reminders.MINUTES不设置时间也表示准时提醒)
创新互联专注于扶风网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供扶风营销型网站建设,扶风网站制作、扶风网页设计、扶风网站官网定制、成都微信小程序服务,打造扶风网络公司原创品牌,更为您提供扶风网站排名全网营销落地服务。
2.添加多个闹钟提醒
道理是一样的,创建多个ContentValues,也可以直接循环创建,并设置CalendarContract.Reminders.MINUTES,这里就演示准时和提前十分钟各提醒一次了,大家可以根据需求创建 。
3.根据自己定义的id删除日程
(1).添加日历事件时,put(“_id”,"自己定义的id")
(2)删除时通过之前设置的id找到并删除
提示:6.0之后要动态申请日历读写权限
初学Compose肯定要做些东西来熟悉,接下来我来分享我做的一个简易日历。
首先推荐一个网站,Accompanist是一组库,旨在用开发人员通常需要但尚不可用的功能来补充[Jetpack Compose。]。 google.github.io/accompanist…
协奏曲pager implementation("com.google.accompanist:accompanist-pager:0.21.3-beta")
然后是一个库,帮助我们在compose里创建和管理viewmodel
implementation('androidx.lifecycle:lifecycle-viewmodel-compose:2.4.0')
首先日历有年月日,但是我做的这个日历没有年份,你当然也可以自己添加。
【Android开发】Android开发教程——jetpack Compose原理解析以及未来趋势_哔哩哔哩_bilibili
【问题一】 卡顿问题
有人打开CalendarView会发生卡顿现象,不过这个问题也有人找到解决方案。如下:
解决Android CalendarView显示卡顿的问题
【问题二】 获取不到日期问题
在某些手机上,会发生获取不到日期的问题,这个问题是非常严重的,因为系统兼容问题导致,这个问题目前没有解决方案
【问题三】 样式不一致问题
CalendarView的样式受到系统的影响,在不同的手机上可能样式不一样。
比如,在布局文件中写一个最简单的CalendarView布局
但是,在手机上的样式是这样的:
总之,一般项目中使用日历控件都会将原生控件CalendarView排除在外。
[本章完...]
最近项目紧,需求多,本着能GitHub的就不自己动手。然鹅,并没有找到合适的。还是自己动手撸吧,再不完成就要被领导撸了。
1、部分功能需要日历可以单选;
2、入住日期需要范围选择;
3、对应显示农历。
对于需求1和2,其本质需求是一样的,有了一个日历基础上就是控制选择的逻辑问题。那么日历从哪儿来呢?
答案显而易见,标题已经划重点了——RecyclerView。
这种上下滚动的日历(或者说这种布局),我们已经到了见了就有条件反应的地步了。从一开始的ListView、GridView到现在的RecyclerView,基本每个app都会用到。
那么这个日历就决定是它了,出来吧:RecyclerView嵌套RecyclerView。
其中复杂的就是嵌套的RecyclerView,其中需要显示的不同状态的日期较多。如不可选择的1号之前的日期、今天的日期、周末的日期等。
项目地址: GitHub - Mitaxing/RVCalendar: 基于RecyclerView自定义日历,可单选,可范围选
==========================
Include MonthPager in your layout XML.
目前来看 相比于Dialog选择日历 我的控件更适合于Activity/Fragment在Activity的 onCreate 或者Fragment的 onCreateView 你需要实现这两个方法来启动日历并装填进数据
使用此方法回调日历点击事件
使用此方法初始化日历标记数据
使用此方法给MonthPager添加上相关监听
Gradle:
Step 1. Add it in your root build.gradle at the end of repositories:
Step 2. Add the dependency