-
大小: 2.20M文件類型: .zip金幣: 1下載: 0 次發(fā)布日期: 2020-12-23
- 語言: Java
- 標(biāo)簽: 聯(lián)動??三級聯(lián)動??
資源簡介
最近項目要做一個,類似淘寶手機客戶端的,選擇收貨地址的三級聯(lián)動滾動選擇組件,下面是它的大致界面截圖:
在IOS中有個叫UIPickerView的選擇器,并且在dataSource中定義了UIPickerView的數(shù)據(jù)源和定制內(nèi)容,所以用只要熟悉它的基本用法,要實現(xiàn)這么個三級聯(lián)動滑動選擇是挺簡單的。
言歸正傳,今天討論的是在Android里面如何來實現(xiàn)這么個效果,那么如何實現(xiàn)呢??? 相信部分童鞋首先想到的是android.widget.DatePicker和android.widget.TimePicker,因為它們的樣子長得很像,事實就是它們僅僅是長得相而已,Google在設(shè)計這個兩個widget的時候,并沒有提供對外的數(shù)據(jù)源適配接口,帶來的問題就是,我們只能通過它們來選擇日期和時間,至于為什么這樣設(shè)計,如果有童鞋知道,請給我留言,Thanks~
DatePicker.class包含的方法截圖:
全都是關(guān)于時間獲取用的方法.
好了,既然在Android中沒辦法偷懶的用一個系統(tǒng)widget搞定,那么只能自己來自定義view來實現(xiàn)了,這篇就圍繞這個來展開分享一下,我在項目中實現(xiàn)這個的全過程。首先是做了下開源代碼調(diào)研,在github上面有一個叫做 android-wheel 的開源控件, 代碼地址https://github.com/maarek/android-wheel
是一個非常好用的組件,對于數(shù)據(jù)適配接口的抽取和事件的回調(diào)都做了抽取,代碼的耦合度低,唯一不足就是在界面的定制這塊,如果你需要做更改,需要去動源代碼的。我這里在界面的代碼做了改動,放在我的項目src目錄下了:
在此次項目中,省市區(qū)及郵編的數(shù)據(jù)是放在了assets/province_data.xml里面,是產(chǎn)品經(jīng)理花了好幾天時間整理的,絕對是最齊全和完善了,辛苦辛苦!!!
關(guān)于XML的解析,一共有SAX、PULL、DOM三種解析方式,這里就不講了,可以看我的前面的幾篇學(xué)習(xí)的文章:
此次項目中使用的是SAX解析方式,因為它占用內(nèi)存少,并且速度快,數(shù)據(jù)解析代碼寫在了 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特效源碼
評論
共有 條評論
相關(guān)資源
- android 聯(lián)動滾輪(選擇控件)
- Android商城App購物車規(guī)格聯(lián)動選擇Dem
- java視頻監(jiān)控實現(xiàn)原理,實現(xiàn)視頻報警
- Java實現(xiàn)Map集合二級聯(lián)動
- vue2省市區(qū)三級聯(lián)動mysqlhtml/jspjs/json
- java+ajax+mysql實現(xiàn)省市縣三級聯(lián)動
- 中國省市區(qū)三級聯(lián)動的JCombobox源代碼
- Ajax實現(xiàn)java web 中下拉列表二級聯(lián)動
- mysql 省市區(qū)三級聯(lián)動sql
- HTML移動端省市區(qū)三級聯(lián)動,完美適配
- Java 使用POI生成帶聯(lián)動下拉框
- jquery 省市區(qū)聯(lián)動(含全球國家以及主
- expandablelistview多級聯(lián)動
- android 區(qū)域聯(lián)動(用于選擇地區(qū)以及搜
- WheelView運用,實現(xiàn)安卓仿蘋果地址聯(lián)
- android 省市區(qū)3級聯(lián)動
- Android聯(lián)動選擇時間和地址
- 二級聯(lián)動菜單jsp mysql
- android 省市區(qū)三級聯(lián)動效果
- android 省市縣三級聯(lián)動 (附sqlite數(shù)據(jù)
- android 選擇地區(qū) 省、市、縣三級聯(lián)動
- 用wheelview實現(xiàn)的省市區(qū)三級聯(lián)動
- android 時間日期選擇控件(也附多級地
- android 三級聯(lián)動(高仿iOS的滾輪控件)
- 雙列表聯(lián)動
- android 選擇地址三級聯(lián)動
- android 省市區(qū) 三級聯(lián)動Demo,用到了
- android 省市縣 地區(qū)三級聯(lián)動
- android ListView三級聯(lián)動效果(省市縣聯(lián)
- android 省市區(qū)三級聯(lián)動