android省市区三级联动插件多级联动的布局怎么实现的

主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
CSDN &《程序员》研发主编,投稿&纠错等事宜请致邮
你只管努力,剩下的交给时光!
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。个人网站:。个人QQ群:、
个人大数据技术博客:当前位置: >
Android省市区三级联动滚轮选择――Cascade_Master 源码
时间: 17:10 来源:互联网 作者:源码搜藏 浏览:
源码类别:其他
源码大小:667 KB
编码格式:gbk
授权方式:免费源码
运行环境:eclipse
官方网址:暂无
欢迎加入QQ群讨论学习
最近项目要做一个,类似淘宝手机客户端的,选择收货地址的三级联动滚动选择组件,下面是它的大致界面截图:
在iOS中有个叫UIPickerView的选择器,并且在dataSource中定义了UIPickerView的数据源和定制内容,所以用只要熟悉它的基本用法,要实现这么个三级联动滑动选择是挺简单的。&
言归正传,今天讨论的是在Android里面如何来实现这么个效果,那么如何实现呢??? 相信部分童鞋首先想到的是android.widget.DatePicker和android.widget.TimePicker,因为它们的样子长得很像,事实就是它们仅仅是长得相而已,Google在设计这个两个widget的时候,并没有提供对外的数据源适配接口,带来的问题就是,我们只能通过它们来选择日期和时间,至于为什么这样设计,如果有童鞋知道,请给我留言,Thanks~
DatePicker.class包含的方法截图:
&全都是关于时间获取用的方法.
好了,既然在Android中没办法偷懒的用一个系统widget搞定,那么只能自己来自定义view来实现了,这篇就围绕这个来展开分享一下,我在项目中实现这个的全过程。首先是做了下开源代码调研,在github上面有一个叫做&android-wheel&的开源控件, 代码地址/maarek/android-wheel
是一个非常好用的组件,对于数据适配接口的抽取和事件的回调都做了抽取,代码的耦合度低,唯一不足就是在界面的定制这块,如果你需要做更改,需要去动源代码的。我这里在界面的代码做了改动,放在我的项目src目录下了:
在此次项目中,省市区及邮编的数据是放在了assets/province_data.xml里面,是产品经理花了好几天时间整理的,绝对是最齐全和完善了,辛苦辛苦!!!
关于XML的解析,一共有SAX、PULL、DOM三种解析方式,这里就不讲了,可以看我的前面的几篇学习的文章:
Android解析XML方式(一)使用SAX解析
Android解析XML方式(二)使用PULL解析XML
实现文档请访问
转载请注明出处
源码搜藏网所有源码来自用户上传分享,版权问题及牵扯到商业纠纷均与源码搜藏网无关关键字:    
当前位置: >
Android例子源码省市区3级联动菜单和数据库
详细介绍 - [ Android例子源码省市区3级联动菜单和数据库 ]
&本项目是一个省市区三级联动的小例子源码,有PopWindow和Fragment两种显示方式,自带全国省市区数据,喜欢的朋友可以自己下载研究一下。
下载地址 - [ Android例子源码省市区3级联动菜单和数据库 ]
推荐使用、下载,请使用解压文件;
下载本站资源,如服务器暂不能下载请过一段时间再试;
本站资源通过 、 等软件检测;
本站部分资源供学习交流使用,如商业用途,请购正版。
网友对“Android例子源码省市区3级联动菜单和数据库”的评论
& 下一篇:
您喜欢这个源码么?
本类热门源码
增值电信业务经营许可证:苏B2-CopyRight ©
All Rights reserved.最近项目要做一个电商APP,选择收货地址的三级联动滚动选择组件, 控件用起来非常简单 ,下面是它的运行效果:
&LinearLayout xmlns:android=&/apk/res/android&
xmlns:tools=&/tools&
xmlns:su=&/apk/res-auto&
android:layout_width=&match_parent&
android:layout_height=&match_parent&
tools:context=&.MainActivity&
android:orientation=&vertical&
android:id=&@+id/tv_name&
android:layout_width=&match_parent&
android:layout_height=&56dp&
android:gravity=&center&
android:textColor=&#FF0000&
android:textSize=&22sp&
android:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:text=&选择地址&
&com.city.linkage.CityPickerView
android:id=&@+id/citypicker&
android:layout_width=&fill_parent&
android:layout_height=&156dp&
android:layout_gravity=&center&
android:gravity=&center&&&/com.city.linkage.CityPickerView&
android:id=&@+id/btn&
android:layout_width=&match_parent&
android:layout_height=&wrap_content&
android:text=&确定&
&/LinearLayout&
MainActivity.Java
public class MainActivity extends AppCompatActivity {
private CityPickerView cityP
private TextV
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cityPicker = (CityPickerView) findViewById(R.id.citypicker);
tv=(TextView)findViewById(R.id.tv_name);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
tv.setText(cityPicker.getCity_string());
由于代码太多,完整代码未给出,源码直接下载即可
本文已收录于以下专栏:
相关文章推荐
1、通过广播
相信有过项目经验的同学都遇到过这样的问题,就是设计“退出”功能时可能会遇到有些界面不能关闭的问题。当然如果你的项目所有的界面都在打开另一个界面时被关闭就不存在这个问题了,但大多数情...
最近做的项目需要用到这样的一个界面
android上做滚动选取的效果是没有原生的控件,我做这个滚动选取的小过失用的是大神整理好的插件,如图是插件的相关的类
轮子有了做效果是比较容易的,无非就是设置数据和显示,为了自己项目中用着方便,我...
在开篇之前,首先,这篇博客只为分享记录自己的学习过程,这里要感谢技术分享的博主,大家可以查看原博客地址:点击打开链接
言回正传,前些日子,女友在面试的过程中,面试官问:如何实现省市区三级联动效果?这里...
使用的是github上的一个开源框架,又时间选择器、自定义条件选择器、我使用的是自定义地区选择器
1.添加依赖
compile 'com.contrarywind:Android-Pick...
在某些类型的app当中用户需要选择自己所在地区时,便是需要用到这一功能,所以就总结一下如何实现。Deno下载链接
这里写链接内容
第一步: 全国省市区地名的json文件并将文件放在assets文件...
最近有需求需要实现省市区三级联动,但是发现之前的实现不够灵活,自己做了一些优化。为了方便以后使用,抽离出来放在了github上WheelView。同时把其核心库放在了JCenter中了,可以直接引用。...
Android自定义控件实现省市区三级联动,能够动态更改数据实现联动,直接拷贝就能使用...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)Android中使用开源框架Citypickerview实现省市区三级联动选择
作者:潘侯爷
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Android中使用开源框架Citypickerview实现省市区三级联动选择效果,非常不错,具有参考借鉴价值,需要的朋友可以参考下
记得之前做商城项目,需要在地址选择中实现省市区三级联动,方便用户快速的填写地址,当时使用的是一个叫做android-wheel 的开源控件,当时感觉非常好用,唯一麻烦的是需要自己整理并解析省市区的xml文件,思路很简单,但是代码量相对大了些。偶然期间发现了另外一个开源组件,也就是今天要介绍的citypickerview。
github地址:
2. 实现效果
下面给大家演示下实现效果:
3.&& 实现方法
(1)添加依赖
dependencies {
compile 'liji.library.dev:citypickerview:0.7.0'
(2)代码实现
这里就不在介绍布局文件了,直接演示实现代码:
package com.mly.panhouye.anchong.
import android.content.C
import android.content.I
import android.graphics.C
import android.os.B
import android.text.TextU
import android.view.V
import android.view.inputmethod.InputMethodM
import android.widget.EditT
import android.widget.TextV
import com.lljjcoder.citypickerview.widget.CityP
import com.mly.panhouye.anchong.R;
import com.mly.panhouye.anchong.entity.Anchong_A
import com.mly.panhouye.anchong.view.TitleBarV
import static com.mly.panhouye.anchong.utils.Constant.NEWADDRESS;
public class NewAddressActivity extends BaseActivity {
TitleBarView address_manager_titleB
EditText new_address_name,new_address_phone,new_address_
Anchong_Address newAddress = new Anchong_Address();
TextView new_address_
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_address);
initView();
//Texview的点击事件
public void chooseArea(View view) {
//判断输入法的隐藏状态
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive()) {
imm.hideSoftInputFromWindow(view.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
selectAddress();//调用CityPicker选取区域
private void selectAddress() {
CityPicker cityPicker = new CityPicker.Builder(NewAddressActivity.this)
.textSize(14)
.title("地址选择")
.titleBackgroundColor("#FFFFFF")
.titleTextColor("#696969")
.confirTextColor("#696969")
.cancelTextColor("#696969")
.province("江苏省")
.city("常州市")
.district("天宁区")
.textColor(Color.parseColor("#000000"))
.provinceCyclic(true)
.cityCyclic(false)
.districtCyclic(false)
.visibleItemsCount(7)
.itemPadding(10)
.onlyShowProvinceAndCity(false)
cityPicker.show();
//监听方法,获取选择结果
cityPicker.setOnCityItemClickListener(new CityPicker.OnCityItemClickListener() {
public void onSelected(String... citySelected) {
String province = citySelected[0];
String city = citySelected[1];
//区县(如果设定了两级联动,那么该项返回空)
String district = citySelected[2];
String code = citySelected[3];
//为TextView赋值
new_address_area.setText(province.trim() + "-" + city.trim() + "-" + district.trim());
protected void initView() {
new_address_name = (EditText) findViewById(R.id.new_address_name);
new_address_phone = (EditText) findViewById(R.id.new_address_phone);
new_address_address = (EditText) findViewById(R.id.new_address_address);
new_address_area = (TextView) findViewById(R.id.new_address_area);
4.使用说明
摘自github地址:
只需传入Context便可获取选择的省市区域的信息,结果返回四项,可根据自己的实际需求进行选择。
citySelected[0]:表示:省份信息
citySelected[1]:表示:城市信息
citySelected[2]:表示:区县信息
citySelected[3]:表示:邮编信息
textSize(滚轮文字的大小,int 类型,默认为18)
title(选择器标题,默认为“选择地区”)
backgroundPop(背景,默认为半透明,16位进制颜色代码,带alpha值,如0xa0ffffff)
titleBackgroundColor(标题栏背景,默认为灰色,#C7C7C7)
confirTextColor(确认按钮字体颜色,默认为系统的colorPrimary颜色值)
cancelTextColor(取消按钮字体颜色,默认为系统的colorPrimary颜色值)
province(默认的显示省份,显示选择器后直接定位的item位置)
city(默认的显示市,显示选择器后直接定位的item位置)
district(默认的显示区,显示选择器后直接定位的item位置)
textColor(滚轮文字的颜色 ,int 类型,默认为0xFF585858)
provinceCyclic(省份的滚轮是否循环滚动)
cityCyclic(市的滚轮是否循环滚动)
districtCyclic(区的滚轮是否循环滚动)
visibleItemsCount(滚轮显示的item个数,int 类型,默认为5个)
itemPadding(滚轮item间距,默认为5dp)
onlyShowProvinceAndCity(boolean flag)(是否只显示省份和市的两级联动,去掉区或者县)
titleTextColor(标题文字颜色,默认为 #E9E9E9)
以上所述是小编给大家介绍的Android中使用开源框架Citypickerview实现省市区三级联动选择,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 android 省市区联动 的文章

 

随机推荐