公历农历日期选择器

项目地址: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,后续会继续更新。

转载于:https://www.cnblogs.com/carbs/p/5227969.html

[原创]自定义公历农历日期选择器相关推荐

  1. Android自定义DataTimePicker(日期选择器)

    Android自定义DataTimePicker(日期选择器)  笔者有一段时间没有发表关于Android的文章了,关于Android自定义组件笔者有好几篇想跟大家分享的,后期会记录在博客中.本篇博客 ...

  2. Android 自定义 弹框日期选择器 弹框,年月日,时分,

    之前有个项目要用到 日期选择器,于是百度了有关 方法,自己 将其 封装成了 自定义 控件 项目 地址:点击打开链接 效果图 Android 自带 的 日期选择器和时间选择器 为DatePicker 和 ...

  3. 自定义 “至今”选项日期选择器

    实现缘由 有这么一个分享的原因是,我发现很多选择日期的地方都会要求能选择"至今",但是现在广泛使用的UI库中,都是不支持的.很奇怪,这个需求还是挺常见的,为什么都不支持呢?网上类似 ...

  4. 【iOS】自定义日期选择器

    自定义了一个日期选择器,与大家分享一下,期待宝贵建议. github下载地址:https://github.com/huahua0809/XHDatePicker 下面只是说明一下怎么用,具体实现请下 ...

  5. mysql 获取农历年份_iOS 获取公历、农历日期的年月日

    iOS 获取公历.农历日期的年月日 介绍三种方法获取 Date (NSDate) 的年月日. 用 date 表示当前日期.测试日期为公历 2017 年 2 月 5 日,农历丁酉年,鸡年,正月初九. l ...

  6. 《Android开发卷——自定义日期选择器(三)》

                 继 <Android开发卷--自定义日期选择器(一)>:http://blog.csdn.net/chillax_li/article/details/19047 ...

  7. 《Android开发卷——自定义日期选择器(二)》

    (小米手机) (中兴手机) 在上一篇中,我介绍了一般公司都会自定义时间日期选择器,并结合自己所做的项目给大家参考. 工作实录之<Android开发卷--自定义日期选择器(一)>链接:htt ...

  8. Android 自定义年月日日期选择器、时分时间选择器

    实现效果: 日期选择器                                                                                       时间 ...

  9. html5 自定义 datepicker,如何使用 React 构建自定义日期选择器(3)

    本文作者:IMWeb howenhuo 未经同意,禁止转载 Datepicker 组件 构建 Datepicker 组件 要开始构建 Datepicker 组件,请将以下代码片段添加到 src/com ...

最新文章

  1. 数据库 SQL 优化大总结之:百万级数据库优化方案
  2. 【Deep Learning笔记】前馈神经网络和BP算法
  3. [学习笔记]圆方树广义圆方树
  4. u盘复制不进去东西_确认过眼神,是电脑小白的福音!U启动U盘启动盘制作工具...
  5. mysql数据库的新特性_【数据库】MySQL新特性归档介绍
  6. 给出一个数:(1)求解有几位数,(2)分别输出每一位数字(3)按逆序输出各位数字
  7. python异常如何处理_python异常处理
  8. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_9_常用的函数式接口_Consumer接口...
  9. 13-hadoop-入门程序
  10. [含论文+答辩PPT+任务书+中期检查表+源码等]基于ssm的NBA球队管理系统
  11. inter uhd graphics630显卡驱动_极为全面的!从零开始的!小白都能看懂的!硬件科普#4 显卡选择篇...
  12. 随笔小感,或许就叫一见误终身
  13. 毕业后第二份工作:进军外企 赴新加坡工作 月薪18K
  14. 什么叫少儿机器人编程
  15. 图片文字识别软件有哪些?这几款软件亲测非常好用
  16. 计算机组成原理——CPU的结构和功能
  17. conda、anaconda、miniconda区别和miniconda安装
  18. Codeforces Round #811 (Div. 3)
  19. 几种重要的排序算法——交换排序
  20. [软件人生]人生强硬也要懂得弯折——谈人性的两面

热门文章

  1. 日记本java代码_简单的JAVA日记本程序源代码
  2. 只读ppt如何获得可编辑版本?
  3. System.setOut()重定向输出解释
  4. 【Rust日报】 2019-04-04
  5. GeoServer中的WPS服务
  6. 【GA】Genetic Algortihm(A)
  7. mysql不同分数的人数,mysql如何统计每个专业分数段的人数
  8. SAP License:SAP系统备料发货时的流程规范
  9. 已解决AttributeError: ‘Rectangle‘ object has no property ‘laber‘
  10. 山东大学为什么火了_关于最近很“火”的话题,山东大学学伴制度的看法