android中CityPicker的使用步骤
第一步:添加依赖
在module中的build.gradle文件中添加依赖
dependencies {
implementation 'com.github.crazyandcoder:citypicker:6.0.2'
}
第二步:将 JitPack 存储库添加到构建文件
在project中的settings.gradle文件中添加JitPack
dependencyResolutionManagement {
repositories {
maven { url 'https://jitpack.io' }
}
}
第三步:设置主题样式
将AndroidManifest.xml文件里的application标签中的android:theme样式设置为@style/AppTheme
android:theme="@style/AppTheme"
第四步:设置组件样式
在layout文件下创建activity_register.xml文件
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp"> <ImageView android:id="@+id/icon51" android:layout_width="40dp" android:layout_height="40dp" android:src="@drawable/ditu" android:layout_marginStart="40dp"/> <TextView android:id="@+id/text1" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginStart="15dp" android:layout_marginEnd="25dp" android:text="请选择地址" android:background="#ECEBEC" android:gravity="center"/> </LinearLayout>
第五步:添加预加载器
在自定义类或Activity中创建init方法,并将该方法在重写方法onCreate中调用
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
init();
}
//初始化
public void init(){
//城市选择器,预加载器
CityListLoader.getInstance().loadProData(this);
//城市选择器的按钮监听事件
TextView spinner1 = (TextView) findViewById(R.id.spinner1);
spinner1.setOnClickListener(v -> {
Intent intent1 = new Intent(this, ProvinceActivity.class);
startActivityForResult(intent1, ProvinceActivity.RESULT_DATA);
});
}
第六步:获取选择数据
//城市选择器的回调方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ProvinceActivity.RESULT_DATA) {
if (resultCode == RESULT_OK) {
if (data == null) {
return;
}
//省份结果
CityBean province = data.getParcelableExtra("province");
//城市结果
CityBean city = data.getParcelableExtra("city");
//区域结果
CityBean area = data.getParcelableExtra("area");
//显示/
String cityString = province.getName()+city.getName()+area.getName();
Toast.makeText(this, cityString, Toast.LENGTH_SHORT).show();
}
}
}
来源:GitHub - crazyandcoder/citypicker: citypicker城市选择器,详细的省市区地址信息,支持仿iOS滚轮实现,仿京东样式,一级或者三级列表展示方式。
专心看人间!
浙公网安备 33010602011771号