您的位置:首页 > 移动开发 > Android开发

Android进阶之路 - 五分钟内快速实现地址选择器(citypicker )

2017-05-09 13:40 489 查看
引用于Giuhub(地址):

https://github.com/crazyandcoder/citypicker


Effect :



build引用:

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


MainActivity :

package com.example.dow.citypickerview;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import com.lljjcoder.citypickerview.widget.CityPicker;

public class MainActivity extends AppCompatActivity {

private TextView mContent;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

TextView mBtn =  (TextView) findViewById(R.id.tv_btn);
mContent = (TextView) findViewById(R.id.tv_content);

mBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getAddress();
}
});
}

private void getAddress()   {
CityPicker cityPicker=new CityPicker.Builder(MainActivity.this)
.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 city =citySelected[1];
//区县(如果设定了两级联动,那么该项返回空)
String district = citySelected[2];
//邮编
String code = citySelected[3];
//为展示区赋值
mContent.setText(province.trim()   +   "-"   +   city.trim()   +   "-"   +   district.trim());
}
});
}
}


MainActivity Xml :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.dow.citypickerview.MainActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tv_btn"
android:gravity="center"
android:padding="5dp"
android:text="地址选择器" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tv_content"
android:gravity="center"
android:padding="5dp"
/>
</LinearLayout>


使用说明

结果返回

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

citySelected[0]:表示:省份信息

citySelected[1]:表示:城市信息

citySelected[2]:表示:区县信息

citySelected[3]:表示:邮编信息

API注明:

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 citypicker
相关文章推荐