城市選擇器(仿照美團)
阿新 • • 發佈:2019-01-09
CitySelect
仿照美團地址選擇器
依賴庫
build.gradle 用於打包aar
def SDK_BASENAME = "TestSdk"; def SDK_VERSION = "_V1.0"; def sdkDestinationPath = "build"; def zipFile = file('build/intermediates/bundles/default/classes.jar') task deleteBuild(type: Delete) { delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION+ ".jar" } task makeJar(type: Jar) { from zipTree(zipFile) from fileTree(dir: 'src/main',includes: ['assets/**'])//將assets目錄打入jar包 baseName = SDK_BASENAME + SDK_VERSION destinationDir = file(sdkDestinationPath) } makeJar.dependsOn(deleteBuild, build)
在專案中使用
第一種方式:Activity
第一種方式不是很方便,應該是不是很靈活,用的是啟動跳轉到庫裡的activity:com.gavin.city.citylibrary.CityPickerActivity 這個方式,我們需要在AndroidMenifest.xml中對Activity進行註冊
<activity android:name="com.gavin.city.citylibrary.CityPickerActivity"/>
在程式碼中的點選事件中跳轉
Intent intent = new Intent(MainActivity.this, CityPickerActivity.class); intent.putExtra("city","深圳市"); startActivityForResult(intent,REQUEST_CODE_PICK_CITY);
註釋:因為本庫相對於別的類似的庫去掉了定位功能,減少包的大小,但前位置需要使用者自己傳入 intent.putExtra("city","深圳市");
返回:選中所選的地方庫裡的操作city是返回的所選城市
Intent data = new Intent(); data.putExtra(KEY_PICKED_CITY, city); setResult(RESULT_OK, data); finish();
第er種方式:fragment
相對於Activity,fragment是比較方便點,看個人喜好吧