android选择城市三级联动

来源:互联网 发布:游戏美工培训学费 编辑:程序博客网 时间:2024/05/15 01:59

如果大家想看可以看原文,我只是翻译,自己用的时候方便,谢谢大神提供

大神的网址:http://www.cnblogs.com/panhouye/p/6519582.html

build.gradle依赖

compile 'liji.library.dev:citypickerview:0.7.0'

在点击选择地址的时候,调用下面的方法

 private void selectAddress() {        CityPicker cityPicker = new CityPicker.Builder(getActivity())                .textSize(14)                .title("地址选择")                .titleBackgroundColor("#FFFFFF")                .confirTextColor("#696969")                .cancelTextColor("#696969")                .province("江苏省")                .city("常州市")                .district("天宁区")                .textColor(Color.parseColor("#000000"))                .provinceCyclic(true)                .cityCyclic(false)                .districtCyclic(false)                .visibleItemsCount(7)                .itemPadding(10)                .onlyShowProvinceAndCity(false)                .build();        cityPicker.show();        //监听方法,获取选择结果        cityPicker.setOnCityItemClickListener(new CityPicker.OnCityItemClickListener() {            @Override            public void onSelected(String... citySelected) {                //省份                String province = citySelected[0];                //城市                String citytitle = citySelected[1];                //区县(如果设定了两级联动,那么该项返回空)                String district = citySelected[2];                //邮编                String code = citySelected[3];                city.setText(district.toString());               // Log.i("lg","lgshuju=>"+province.trim() + "-" + citytitle.trim() + "-" + district.toString());            }        });    }

结果返回

只需传入Context便可获取选择的省市区域的信息,结果返回四项,可根据自己的实际需求进行选择。

  1. citySelected[0]:表示:省份信息
  2. citySelected[1]:表示:城市信息
  3. citySelected[2]:表示:区县信息
  4. citySelected[3]:表示:邮编信息

方法说明

  1. textSize(滚轮文字的大小,int 类型,默认为18)
  2. title(选择器标题,默认为“选择地区”)
  3. backgroundPop(背景,默认为半透明,16位进制颜色代码,带alpha值,如0xa0ffffff)
  4. titleBackgroundColor(标题栏背景,默认为灰色,#C7C7C7)
  5. confirTextColor(确认按钮字体颜色,默认为系统的colorPrimary颜色值)
  6. cancelTextColor(取消按钮字体颜色,默认为系统的colorPrimary颜色值)
  7. province(默认的显示省份,显示选择器后直接定位的item位置)
  8. city(默认的显示市,显示选择器后直接定位的item位置)
  9. district(默认的显示区,显示选择器后直接定位的item位置)
  10. textColor(滚轮文字的颜色 ,int 类型,默认为0xFF585858)
  11. provinceCyclic(省份的滚轮是否循环滚动)
  12. cityCyclic(市的滚轮是否循环滚动)
  13. districtCyclic(区的滚轮是否循环滚动)
  14. visibleItemsCount(滚轮显示的item个数,int 类型,默认为5个)
  15. itemPadding(滚轮item间距,默认为5dp)
  16. onlyShowProvinceAndCity(boolean flag)(是否只显示省份和市的两级联动,去掉区或者县)
  17. titleTextColor(标题文字颜色,默认为 #E9E9E9)

 自己试过,更改background的颜色时,可以复制citypicker的源码下来,更改背景颜色,可以为 0xffffff