資源簡介
最近項目要做一個,類似淘寶手機客戶端的,選擇收貨地址的三級聯動滾動選擇組件,下面是它的大致界面截圖:
在IOS中有個叫UIPickerView的選擇器,并且在dataSource中定義了UIPickerView的數據源和定制內容,所以用只要熟悉它的基本用法,要實現這么個三級聯動滑動選擇是挺簡單的。
言歸正傳,今天討論的是在Android里面如何來實現這么個效果,那么如何實現呢??? 相信部分童鞋首先想到的是android.widget.DatePicker和android.widget.TimePicker,因為它們的樣子長得很像,事實就是它們僅僅是長得相而已,Google在設計這個兩個widget的時候,并沒有提供對外的數據源適配接口,帶來的問題就是,我們只能通過它們來選擇日期和時間,至于為什么這樣設計,如果有童鞋知道,請給我留言,Thanks~
DatePicker.class包含的方法截圖:
全都是關于時間獲取用的方法.
好了,既然在Android中沒辦法偷懶的用一個系統widget搞定,那么只能自己來自定義view來實現了,這篇就圍繞這個來展開分享一下,我在項目中實現這個的全過程。首先是做了下開源代碼調研,在github上面有一個叫做 android-wheel 的開源控件, 代碼地址https://github.com/maarek/android-wheel
是一個非常好用的組件,對于數據適配接口的抽取和事件的回調都做了抽取,代碼的耦合度低,唯一不足就是在界面的定制這塊,如果你需要做更改,需要去動源代碼的。我這里在界面的代碼做了改動,放在我的項目src目錄下了:
在此次項目中,省市區及郵編的數據是放在了assets/province_data.xml里面,是產品經理花了好幾天時間整理的,絕對是最齊全和完善了,辛苦辛苦!!!
關于XML的解析,一共有SAX、PULL、DOM三種解析方式,這里就不講了,可以看我的前面的幾篇學習的文章:
此次項目中使用的是SAX解析方式,因為它占用內存少,并且速度快,數據解析代碼寫在了 com.mrwujay.cascade.service/XmlParserHandler.java中,代碼如下:
代碼片段和文件信息
/**?Automatically?generated?file.?DO?NOT?MODIFY?*/
package?com.zihao.city;
public?final?class?BuildConfig?{
????public?final?static?boolean?DEBUG?=?true;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-04-28?13:14??city\
?????文件?????????475??2014-09-18?19:08??city\.classpath
?????文件?????????840??2014-09-18?19:12??city\.project
?????目錄???????????0??2014-04-28?13:14??city\.settings\
?????文件?????????177??2014-04-28?13:14??city\.settings\org.eclipse.jdt.core.prefs
?????文件?????????870??2014-09-18?19:10??city\AndroidManifest.xm
?????目錄???????????0??2014-04-28?13:14??city\assets\
?????文件??????108337??2014-04-28?13:14??city\assets\area.json
?????目錄???????????0??2014-09-18?19:12??city\bin\
?????文件?????????870??2014-09-18?19:12??city\bin\AndroidManifest.xm
?????文件??????388415??2014-09-18?19:12??city\bin\city.apk
?????目錄???????????0??2014-09-18?19:12??city\bin\classes\
?????文件?????1156324??2014-09-18?19:12??city\bin\classes.dex
?????目錄???????????0??2014-09-18?19:12??city\bin\classes\com\
?????目錄???????????0??2014-09-18?19:12??city\bin\classes\com\zihao\
?????目錄???????????0??2014-09-18?19:12??city\bin\classes\com\zihao\city\
?????文件?????????337??2014-09-18?19:12??city\bin\classes\com\zihao\city\BuildConfig.class
?????文件????????4029??2014-09-18?19:12??city\bin\classes\com\zihao\city\CitycodeUtil.class
?????文件????????1012??2014-09-18?19:12??city\bin\classes\com\zihao\city\Cityinfo.class
?????文件?????????982??2014-09-18?19:12??city\bin\classes\com\zihao\city\CityPicker$1.class
?????文件????????2953??2014-09-18?19:12??city\bin\classes\com\zihao\city\CityPicker$2.class
?????文件????????2420??2014-09-18?19:12??city\bin\classes\com\zihao\city\CityPicker$3.class
?????文件????????2257??2014-09-18?19:12??city\bin\classes\com\zihao\city\CityPicker$4.class
?????文件????????3771??2014-09-18?19:12??city\bin\classes\com\zihao\city\CityPicker$JSONParser.class
?????文件?????????246??2014-09-18?19:12??city\bin\classes\com\zihao\city\CityPicker$on
?????文件????????6125??2014-09-18?19:12??city\bin\classes\com\zihao\city\CityPicker.class
?????文件???????13464??2014-09-18?19:12??city\bin\classes\com\zihao\city\FileUtil.class
?????文件?????????673??2014-09-18?19:12??city\bin\classes\com\zihao\city\MainActivity.class
?????文件?????????702??2014-09-18?19:12??city\bin\classes\com\zihao\city\R$attr.class
?????文件?????????449??2014-09-18?19:12??city\bin\classes\com\zihao\city\R$dimen.class
?????文件?????????395??2014-09-18?19:12??city\bin\classes\com\zihao\city\R$drawable.class
............此處省略80個文件信息
- 上一篇:android 拍照 代碼
- 下一篇:Android特效源碼
評論
共有 條評論
相關資源
- android 聯動滾輪(選擇控件)
- Android商城App購物車規格聯動選擇Dem
- java視頻監控實現原理,實現視頻報警
- Java實現Map集合二級聯動
- vue2省市區三級聯動mysqlhtml/jspjs/json
- java+ajax+mysql實現省市縣三級聯動
- 中國省市區三級聯動的JCombobox源代碼
- Ajax實現java web 中下拉列表二級聯動
- mysql 省市區三級聯動sql
- HTML移動端省市區三級聯動,完美適配
- Java 使用POI生成帶聯動下拉框
- jquery 省市區聯動(含全球國家以及主
- expandablelistview多級聯動
- android 區域聯動(用于選擇地區以及搜
- WheelView運用,實現安卓仿蘋果地址聯
- android 省市區3級聯動
- Android聯動選擇時間和地址
- 二級聯動菜單jsp mysql
- android 省市區三級聯動效果
- android 省市縣三級聯動 (附sqlite數據
- android 選擇地區 省、市、縣三級聯動
- 用wheelview實現的省市區三級聯動
- android 時間日期選擇控件(也附多級地
- android 三級聯動(高仿iOS的滾輪控件)
- 雙列表聯動
- android 選擇地址三級聯動
- android 省市區 三級聯動Demo,用到了
- android 省市縣 地區三級聯動
- android ListView三級聯動效果(省市縣聯
- android 省市區三級聯動