首先是xml文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.dell.pop.MainActivity"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:layout_width="100dp" android:layout_height="50dp" android:layout_gravity="center" android:text="城市:" /> <TextView android:id="@+id/text" android:layout_width="match_parent" android:layout_height="match_parent" android:onClick="text" /> </LinearLayout> </LinearLayout>然后就是mainactivity里面的代码
import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.TextView; import com.lljjcoder.citypickerview.widget.CityPicker; /** * nyb * 2018年1月3日15:43:28 */ public class MainActivity extends AppCompatActivity { private TextView text; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text = (TextView)findViewById(R.id.text); } public void text(View v){ InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); if (imm.isActive()) { imm.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); selectAddress();//调用CityPicker选取区域 } } private void selectAddress() { CityPicker cityPicker = new CityPicker.Builder(MainActivity.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) .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]; //为TextView赋值 text.setText(province.trim() + "-" + city.trim() + "-" + district.trim()); } }); } }
最后就是一个依赖包:
compile 'liji.library.dev:citypickerview:0.7.0'