CityPicker

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

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

Gif

image

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~

作者:Bro0cL
链接:https://www.jianshu.com/p/b469c6f02754
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

【Android开源库】美团等APP城市选择的更多相关文章

  1. GitHub上排名前100的Android开源库介绍(来自github)

    本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...

  2. GitHub Top 100的Android开源库

    摘要: 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索Java语言选择「Best M... 本项目主要对目前 GitH ...

  3. Android 开源库获取途径整理

    介绍眼下收藏 Android 开源库比較多的 GitHub 项目.站点.Twitter.App 及怎样获取最新的 Android 开源库. 微信号: 1. GitHub Android 开源项目汇总 ...

  4. 我的Android进阶之旅】GitHub 上排名前 100 的 Android 开源库进行简单的介绍

    GitHub Android Libraries Top 100 简介 本文转载于:https://github.com/Freelander/Android_Data/blob/master/And ...

  5. <Android开源库 ~ 1> GitHub Android Libraries Top 100 简介

    转载自GitHub Android Libraries Top 100 简介 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitH ...

  6. GitHub上排名前100的Android开源库介绍

    GitHub上排名前100的Android开源库介绍 文章来源: http://www.open-open.com/news/view/1587067#6734290-qzone-1-31660-bf ...

  7. 【Java&amp;Android开源库代码分析】のandroid-async-http の开盘

          在<[Java&Android开源库代码剖析]のandroid-smart-image-view>一文中我们提到了android-async-http这个开源库,本文正 ...

  8. Android 开源库和项目 3

    Android 开源库和项目 Android 开源库和项目 2 1.Matisse Android 图片选择器 -- 知乎开源 github 地址:https://github.com/zhihu/M ...

  9. &lt;Android 开源库&gt; GreenDAO 使用方法具体解释&lt;译文&gt;

    简单介绍 greenDAO是一个开源的Android ORM,使SQLite数据库的开发再次变得有趣. 它减轻了开发者处理底层的数据库需求,同一时候节省开发时间. SQLite是一个非常不错的关系型数 ...

随机推荐

  1. vijos1543(极值问题)解题报告

    (n^2-m*n-m^2)^2=1 是齐次多项式,设n>=m,n=m+t(t>=0). n^2-m*n-m^2=t^2-m*t-m^2 所以(t^2-m*t-m^2)^2=1. 如果n,m ...

  2. Educational Codeforces Round 42 (Rated for Div. 2) E. Byteland, Berland and Disputed Cities

    http://codeforces.com/contest/962/problem/E E. Byteland, Berland and Disputed Cities time limit per ...

  3. C# 同步工作站与SQL服务器的时间

    /// <summary> /// 设置本机时间 /// </summary> public class LocalTimeSync { [DllImport("Ke ...

  4. shell提取文件后缀名,并判断其是否为特定字符串

    如果文件是 .css文件 或 .js文件,则进行处理. file=$1 if [ "${file##*.}"x = "css"x ]||[ "${fi ...

  5. 在 github 新建一个文件夹

    创建新文件的时候名字后面加个斜杠(/)就可以了.

  6. centos7安装dnsmasq局域网dns

    Dnsmaq介绍: Dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能. Dnsmasq可以解决小范围的dns查询 ...

  7. DotNetBar滚动条的疑似BUG

    1.重现过程,在winform窗体上拖一个VScrollBarAdv 2.Button里点击跟踪代码 3.Value居然是-5,,而不是0,这是直接赋值,不是手动拖的呀. 4.解决办法,将LargeC ...

  8. TestNg失败重试机制

    TestNg提供了失败重试接口IRetryAnalyzer,需要实现retry方法: package com.shunhe.testngprac.retry; import org.testng.IR ...

  9. Nginx URL匹配

      Nginx 下 location模块  可以实现对网页URL进行分析处理 location ~ .*\.(gif|jpg|jpeg|png|bmg|swf)$ { // 扩展名为gif|jpg|j ...

  10. luogu P4036 [JSOI2008]火星人

    传送门 很久以前xzz大佬就喊我做这题,结果现在才做qwq 因为要在序列中插入,所以直接用\(Splay\)维护这个串的哈希值,插入就直接把那个点插♂进去,修改就把点旋到根,然后修改和pushup,询 ...