如今使用比較多的相似美團等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 來源:簡書 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。