如今使用比较多的相似美团等APP的城市选择界面.android
2步便可实现,就是这么简单粗暴!git
imagegithub
下载demo.apk体验.api
Gradle:ide
compile 'com.zaaach:citypicker:1.1'
or Maven:this
<dependency> <groupId>com.zaaach</groupId> <artifactId>citypicker</artifactId> <version>1.1</version> <type>pom</type> </dependency>
or 下载library手动导入.spa
CityPicker
自己已经引入了高德地图定位sdk.3d
在你项目的manifest.xml
中添加开发平台申请的keycode
<!--这里的value要替换成你项目的--> <meta-data android:name="com.amap.api.v2.apikey" android:value="138e5cf1e8961ae326ff0908c03d1ae1"
还须要添加CityPickerActivity
xml
<!--城市筛选--> <activity android:name="com.zaaach.citypicker.CityPickerActivity" android:theme="@style/CityPicker.NoActionBar" android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden|adjustPan"/>
private static final int REQUEST_CODE_PICK_CITY = 233; private TextView resultTV; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mychengshi); resultTV = (TextView) findViewById(R.id.tv_result); findViewById(R.id.btn_select).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivityForResult(new Intent(Mychengshi.this, CityPickerActivity.class), REQUEST_CODE_PICK_CITY); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE_PICK_CITY && resultCode == RESULT_OK){ if (data != null){ String city = data.getStringExtra(CityPickerActivity.KEY_PICKED_CITY); resultTV.setText("当前选择:" + city); } } } }
enjoy it.
注意混淆
#定位 -keep class com.amap.api.location.**{*;} -keep class com.amap.api.fence.**{*;} -keep class com.autonavi.aps.amapapi.model.**{*;}
做者:这条鱼有点甜 连接:http://www.jianshu.com/p/b469c6f02754 來源:简书 著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。