资源简介
最近项目要做一个,类似淘宝手机客户端的,选择收货地址的三级联动滚动选择组件,下面是它的大致界面截图:
在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 省市区三级联动
评论
共有 条评论