DateScroller自定义控件横向滑动日历选择器

最近用了两天的时间重写了n年前,我最开始工作所做的第二个自定义控件,现在看来要是原理没搞清楚,其实还是比较难的。当然,因为曾经工作的项目(已经不再运营),所以做了一点点改动,不完全跟原来项目需求一样。

先看看效果。

DateScroller自定义控件横向滑动日历选择器_第1张图片

这个控件由三部分组成,最外层是LinearLayout,然后一条分割线,区分了左边和右边,右边可以横向滚动,在滚动的时候切换了月份,会popup出来相应的年月。

重点是右边滚动部分,我用的viewgroup来实现,基本构思如下:

1.计算item的大小,并且画出来。

2.添加滑动事件:向右滑动的左边边缘检测,在滑动期间判断是否快无数据时候生成更多的数据以便继续滑动。

3.根据滑动的位置判断滑动日期的月份是否发生变化并提示。

4.item的选中事件和回调。


有兴趣到这里看源码:https://github.com/arjinmc/DateScroller

你可能感兴趣的:(Android)