美文网首页MobDevGroupAndroidAndroid
【Android开源库】美团等APP城市选择

【Android开源库】美团等APP城市选择

作者: 这条鱼有点甜 | 来源:发表于2016-12-17 11:44 被阅读9588次

CityPicker

现在使用比较多的类似美团等APP的城市选择界面.

2步即可实现,就是这么简单粗暴!

Gif

imageimage

APK

下载demo.apk体验.

Install

Gradle:

compile 'com.zaaach:citypicker:1.1'

or Maven:

<dependency>
  <groupId>com.zaaach</groupId>
  <artifactId>citypicker</artifactId>
  <version>1.1</version>
  <type>pom</type>
</dependency>

or 下载library手动导入.

Usage

CityPicker本身已经引入了高德地图定位sdk.

step1:

在你项目的manifest.xml中添加开发平台申请的key

<meta-data android:name="com.amap.api.v2.apikey"
           android:value="your key"/>

还需要添加CityPickerActivity

<activity
            android:name="com.zaaach.citypicker.CityPickerActivity"
            android:theme="@style/CityPicker.NoActionBar"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden|adjustPan"/>

Step2

private static final int REQUEST_CODE_PICK_CITY = 0;
//启动
startActivityForResult(new Intent(MainActivity.this, CityPickerActivity.class),
                        REQUEST_CODE_PICK_CITY);

//重写onActivityResult方法
@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);
        }
    }
}

Step3:

enjoy it.

Proguard

注意混淆

//定位
-keep class com.amap.api.location.**{*;}
-keep class com.amap.api.fence.**{*;}
-keep class com.autonavi.aps.amapapi.model.**{*;}

GitHub

github地址:CityPicker欢迎star~

相关文章

网友评论

  • 18c9f264717e:我的项目运行就这样了 android.view.InflateException: Binary XML file line #12: Error inflating class EditText
    at com.zaaach.citypicker.CityPickerDialogFragment.onCreateView(CityPickerDialogFragment.java:141)

    Caused by: java.lang.RuntimeException: Failed to resolve attribute at index 12

    java.lang.RuntimeException: Failed to resolve attribute at index 12
    at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:569)
  • a0595df17dca:为什么我的定位总是失败,已经申请了高德地图的key,并且确认没错
    这条鱼有点甜:@Android虫 用最新版的吧,已经和定位SDK解耦
    a0595df17dca:@Bro0cL 是的,就是这个问题
    这条鱼有点甜:@Android虫 高德地图可能要打包签名版之后才能定位成功
  • Greedy_TZG:测试版可以正常定位,但是正式版本不可以定位可能是什么问题啊
    Greedy_TZG:@Bro0cL 我已经明白了,是我签名的问题,release版本的签名没有在高德那边记录导致的,不好意思了
    这条鱼有点甜:@Greedy_TZG 错误信息有吗?
  • 30078b911382:实用!!!必须给你点个赞
  • android渣渣:项目里集成了百度地图<meta-data android:name="com.amap.api.v2.apikey"
    android:value="your key"/> 只需把value值换成百度申请的key值就可以吗,name的值不用换吗?
    这条鱼有点甜:@monkey_who 推荐使用最新版的
    monkey_who:哥们,你集成了百度地图,用这个库成功了吗
  • 1658db3ec3c5:我想问下 有没有方法 不用跳转到cityactivity 直接获取到定位城市的值
  • Uncle_Sun:亲,是不是可以加个,默认全国多功能。。。
    5f7734fabe44:这边我能在数据库添加选项么
    Uncle_Sun:@Bro0cL 也就是说默认定位会选择一个城市,如果我进入了城市选择的页面后就必须选一个城市,并没有默认的选择,比如“全国”
    这条鱼有点甜:不明白你说的全国是什么需求
  • 1658db3ec3c5:Proguard 混淆 那段 写在 proguard-rules.pro 里面吗 为什么没有用。。定位失败~:flushed:
    1658db3ec3c5:@Bro0cL 有个v1 v2的 我选了 v1 没用。。要选v2吗 打包的那个
    1658db3ec3c5:@Bro0cL 弄了。。还是不行 然后 我又改成调试的sha1。。也没用 怎么回事
    这条鱼有点甜:高德地图好像需要打包签名apk后才能定位成功
  • 83e7e587351d:怎么让A、B、C、字符悬停在最上面呢
  • be4f55acdff4:666 好文
  • 9ef383b7dbb1:我也遇到过编译不过的问题,不过好在解决啦,不用更新gradle。吧gradle的"compile fileTree(dir: 'libs', include: ['*.jar'])"
    改成
    "provided fileTree(dir: 'libs', include: ['*.jar'])".就行。亲测有效
    解决帖:
    https://stackoverflow.com/questions/29720831/finished-with-non-zero-exit-value-3/30930734#30930734?newreg=12a5055f9ee3430f9591837a30307c1f
    M_667c:老哥 我也出现了这个错误照着你说的这个也修改了但是并 并没有解决啊 :cry:
  • uncochen:不错,准备用在项目上了.感谢
    uncochen:@TC_925e 好用啊
    280ca1775510:兄弟你搜索好使么
  • 4a3b6e45cce6:我想问下 我这边本来项目自带了高德地图的定位 地图显示 导航等 再次接入这个的话 报错 Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
    > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/amap/api/fence/DistrictItem$1; 请问 我这边要删除哪个包
    3feeb8daa21d:有没有解决?
    4a3b6e45cce6:@code点点DD 你解决了么?
    code点点DD:我遇到了同样的问题。
  • TheShy_:顶一下 很棒!
  • 瓶子君:mark;

本文标题:【Android开源库】美团等APP城市选择

本文链接:https://www.haomeiwen.com/subject/guvomttx.html