1. 程式人生 > >DateScroller自定義控制元件橫向滑動日曆選擇器

DateScroller自定義控制元件橫向滑動日曆選擇器

最近用了兩天的時間重寫了n年前,我最開始工作所做的第二個自定義控制元件,現在看來要是原理沒搞清楚,其實還是比較難的。當然,因為曾經工作的專案(已經不再運營),所以做了一點點改動,不完全跟原來專案需求一樣。

先看看效果。


這個控制元件由三部分組成,最外層是LinearLayout,然後一條分割線,區分了左邊和右邊,右邊可以橫向滾動,在滾動的時候切換了月份,會popup出來相應的年月。

重點是右邊滾動部分,我用的viewgroup來實現,基本構思如下:

1.計算item的大小,並且畫出來。

2.新增滑動事件:向右滑動的左邊邊緣檢測,在滑動期間判斷是否快無資料時候生成更多的資料以便繼續滑動。

3.根據滑動的位置判斷滑動日期的月份是否發生變化並提示。

4.item的選中事件和回撥。