省份城市选择估计每个入门的 android 码农都做过,而且 Gayhub 上的相关组件琳琅满目搞得大家目不暇接,那么究竟哪个最好用呢,这个我也不知道,只能说大家看项目需求。都不能满足的话只能自己撸一个了,不过我也不是轮子哥,本着站(shen)在巨(shou)人肩上(dang)的原则,这里我用的是 AndroidPicker。
AndroidPicker
https://github.com/gzu-liyujiang/AndroidPicker
然而这个东西可不仅仅是用来做省市地区联动选择用的,还能做文件选择,以及日期选择器、时间选择器、单项选择器、双项选择器、城市地址选择器、车牌号选择器、数字选择器、星座选择器、生肖选择器、颜色选择器、文件选择器、目录选择器等,可自定义顶部及底部界面,可自定义窗口动画 ...
而且估计很多人已经都用过了,用法很简单:
// 创建 AddressPicker 实例AddressPicker addressPicker = new AddressPicker(当前Activity, 所有省份城市集合);// 隐藏县、区的选择addressPicker.setHideCounty(true);int colorBlack = Color.parseColor("#000000");// 分割线的颜色addressPicker.setDividerColor(colorBlack);addressPicker.setLabelTextColor(colorBlack);// 取消 文字颜色addressPicker.setCancelTextColor(Color.parseColor("#FFFFFF"));// 按下文字时的颜色addressPicker.setPressedTextColor(Color.parseColor("#FF0030"));// 确定 文字的颜色addressPicker.setSubmitTextColor(Color.parseColor("#FF0030"));// 文字 颜色addressPicker.setTextColor(colorBlack);// 对话框标题颜色addressPicker.setTopBackgroundColor(colorBlack);addressPicker.setTopLineColor(colorBlack);// 设置默认省市addressPicker.setSelectedItem(默认省份, 默认城市);// 设置事件监听addressPicker.setOnAddressPickListener(new AddressPicker.OnAddressPickListener() { @Override public void onAddressPicked(cn.qqtheme.framework.entity.Province province, cn.qqtheme.framework.entity.City city, County county) { // TODO }});// 显示选择对话框addressPicker.show();
对于城市数据,大家可以在作者的项目 Assets 文件夹中找到 city2.json ,反序列化为 ArrayList<Province> 即可。
https://github.com/gzu-liyujiang/AndroidPicker/blob/master/app/src/main/assets/city2.json
大家以为做项目就这么容易了吗?
Too young,too simple,sometimes naive.
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。