[原创]自定义公历农历日期选择器
公历农历日期选择器
项目地址: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,后续会继续更新。