1.項目中需要向系統(tǒng)日歷添加日程,怎么添加就不多說了,百度一大堆,這文章主要解決準時或者提前多久鬧鐘提醒(CalendarContract.Reminders.MINUTES不設置時間也表示準時提醒)
創(chuàng)新互聯(lián)專注于扶風網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供扶風營銷型網(wǎng)站建設,扶風網(wǎng)站制作、扶風網(wǎng)頁設計、扶風網(wǎng)站官網(wǎng)定制、成都微信小程序服務,打造扶風網(wǎng)絡公司原創(chuàng)品牌,更為您提供扶風網(wǎng)站排名全網(wǎng)營銷落地服務。
2.添加多個鬧鐘提醒
道理是一樣的,創(chuàng)建多個ContentValues,也可以直接循環(huán)創(chuàng)建,并設置CalendarContract.Reminders.MINUTES,這里就演示準時和提前十分鐘各提醒一次了,大家可以根據(jù)需求創(chuàng)建 。
3.根據(jù)自己定義的id刪除日程
(1).添加日歷事件時,put(“_id”,"自己定義的id")
(2)刪除時通過之前設置的id找到并刪除
提示:6.0之后要動態(tài)申請日歷讀寫權(quán)限
初學Compose肯定要做些東西來熟悉,接下來我來分享我做的一個簡易日歷。
首先推薦一個網(wǎng)站,Accompanist是一組庫,旨在用開發(fā)人員通常需要但尚不可用的功能來補充[Jetpack Compose。]。 google.github.io/accompanist…
協(xié)奏曲pager implementation("com.google.accompanist:accompanist-pager:0.21.3-beta")
然后是一個庫,幫助我們在compose里創(chuàng)建和管理viewmodel
implementation('androidx.lifecycle:lifecycle-viewmodel-compose:2.4.0')
首先日歷有年月日,但是我做的這個日歷沒有年份,你當然也可以自己添加。
【Android開發(fā)】Android開發(fā)教程——jetpack Compose原理解析以及未來趨勢_嗶哩嗶哩_bilibili
【問題一】 卡頓問題
有人打開CalendarView會發(fā)生卡頓現(xiàn)象,不過這個問題也有人找到解決方案。如下:
解決Android CalendarView顯示卡頓的問題
【問題二】 獲取不到日期問題
在某些手機上,會發(fā)生獲取不到日期的問題,這個問題是非常嚴重的,因為系統(tǒng)兼容問題導致,這個問題目前沒有解決方案
【問題三】 樣式不一致問題
CalendarView的樣式受到系統(tǒng)的影響,在不同的手機上可能樣式不一樣。
比如,在布局文件中寫一個最簡單的CalendarView布局
但是,在手機上的樣式是這樣的:
總之,一般項目中使用日歷控件都會將原生控件CalendarView排除在外。
[本章完...]
最近項目緊,需求多,本著能GitHub的就不自己動手。然鵝,并沒有找到合適的。還是自己動手擼吧,再不完成就要被領導擼了。
1、部分功能需要日歷可以單選;? ? ? ?
2、入住日期需要范圍選擇;
? ? 3、對應顯示農(nóng)歷。
對于需求1和2,其本質(zhì)需求是一樣的,有了一個日歷基礎上就是控制選擇的邏輯問題。那么日歷從哪兒來呢?
? ? 答案顯而易見,標題已經(jīng)劃重點了——RecyclerView。
? ? 這種上下滾動的日歷(或者說這種布局),我們已經(jīng)到了見了就有條件反應的地步了。從一開始的ListView、GridView到現(xiàn)在的RecyclerView,基本每個app都會用到。
? ? 那么這個日歷就決定是它了,出來吧:RecyclerView嵌套RecyclerView。
其中復雜的就是嵌套的RecyclerView,其中需要顯示的不同狀態(tài)的日期較多。如不可選擇的1號之前的日期、今天的日期、周末的日期等。
項目地址: GitHub - Mitaxing/RVCalendar: 基于RecyclerView自定義日歷,可單選,可范圍選
==========================
Include MonthPager in your layout XML.
目前來看 相比于Dialog選擇日歷 我的控件更適合于Activity/Fragment在Activity的 onCreate 或者Fragment的 onCreateView 你需要實現(xiàn)這兩個方法來啟動日歷并裝填進數(shù)據(jù)
使用此方法回調(diào)日歷點擊事件
使用此方法初始化日歷標記數(shù)據(jù)
使用此方法給MonthPager添加上相關(guān)監(jiān)聽
Gradle:
Step 1. Add it in your root build.gradle at the end of repositories:
Step 2. Add the dependency