[原創]自定義公歷農歷日期選擇器


公歷農歷日期選擇器

項目地址:https://github.com/Carbs0126/GregorianLunarCalendar

android自帶的DatePicker具有日期選擇的功能,但是由於不同的rom可能會對此控件進行深度定制,且擴展性較差,因此如果我們在自己的程序中使用此控件,很可能會在不同的rom上顯示不同的效果,這給用戶帶來了很不好的UI體驗。
為了規避上述弊端,我使用了三個NumberPicker組合的形式來顯示日期。同時為了兼顧國內的日期使用習慣,我添加了農歷選擇功能。具體功能概述如下:
1.公歷年月日選擇,年月改變時會聯動改變相對應的月日時期顯示,確保公歷日期顯示正確;
2.農歷年月日選擇,同樣會有聯動改變對應日期的效果,確保日期符合農歷歷法,包括閏月、大小月等;
3.公歷農歷互相轉換時,實現無縫切換,如2016年2月29日切換為農歷則顯示二零一六年一月廿二日,農歷轉公歷同樣效果;
4.顯示范圍為1901年-2100年,滿足大部分使用需求;
5.在1901年與2100年,確保公歷農歷轉換時的邊界限制。

待完善之處:
1.農歷、公歷轉換時沒有動畫效果;
2.內容上下滑動時沒有添加漸變效果;
3.使用NumberPickerUI可定制性較差;

代碼地址見:

https://github.com/Carbs0126/GregorianLunarCalendar

實際運行效果不卡頓,gif格式圖片生成的有問題。

打算繼續將其優化,主要是放棄使用NumberPicker,而是采用純粹的View,后續會繼續更新。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM