Android进阶之路 - Citypicker 五分钟内快速实现地址选择器
从早期的时候就比较喜欢拉框架直接用,所以以前记录了很多
关于 CityPicker 框架,我用的时候还是2017年,但是这几年(2022)改变了很多,扩展性也很强,如果要了解最新使用的话,最好还是去 github 看框架的最新使用 ~
地址关联Blog
- Citypicker 五分钟内快速实现地址选择器
- 仿京东地址选择器使用指南
- AndroidPicker 快速实现多样化日期选择器与地址选择器
- 实现效果
- 使用说明
- API注明
- 回调结果
- 使用方式
实现效果
早以前的git图,被转存成静态jpg了,无语中...
使用说明
API注明
方法 | 含义 |
---|---|
textSize | 滚轮文字的大小,int 类型,默认为18 |
title | 选择器标题,默认为“选择地区” |
backgroundPop | 背景,默认为半透明,16位进制颜色代码,带alpha值,如0xa0ffffff |
titleBackgroundColor | 标题栏背景,默认为灰色,#C7C7C7 |
confirTextColor | 确认按钮字体颜色,默认为系统的colorPrimary颜色值 |
cancelTextColor | 取消按钮字体颜色,默认为系统的colorPrimary颜色值 |
province | 默认的显示省份,显示选择器后直接定位的item位置 |
city | 默认的显示市,显示选择器后直接定位的item位置 |
district | 默认的显示区,显示选择器后直接定位的item位置 |
textColor | 滚轮文字的颜色 ,int 类型,默认为0xFF585858 |
provinceCyclic | 省份的滚轮是否循环滚动 |
cityCyclic | 市的滚轮是否循环滚动 |
districtCyclic | 区的滚轮是否循环滚动 |
visibleItemsCount | 滚轮显示的item个数,int 类型,默认为5个 |
itemPadding | 滚轮item间距,默认为5dp |
onlyShowProvinceAndCity(boolean flag) | 是否只显示省份和市的两级联动,去掉区或者县 |
titleTextColor | (标题文字颜色,默认为 #E9E9E9) |
回调结果
只需传入Context便可获取选择的省市区域的信息,结果返回四项,可根据自己的实际需求进行选择。
回调 | 含义 |
---|---|
citySelected[0] | 省份信息 |
citySelected[1] | 城市信息 |
citySelected[2] | 区县信息 |
citySelected[3] | 邮编信息 |
使用方式
- build引用(
2017的版本,2022我去看了下 版本已经到6.0.2了,所以最好去看原作者的使用方式
)
compile 'liji.library.dev:citypickerview:0.7.0'
- MainActivity
package com.example.dow.citypickerview;import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;import com.lljjcoder.citypickerview.widget.CityPicker;public class MainActivity extends AppCompatActivity {private TextView mContent;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TextView mBtn = (TextView) findViewById(R.id.tv_btn);mContent = (TextView) findViewById(R.id.tv_content);mBtn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {getAddress();}});}private void getAddress() {CityPicker cityPicker=new CityPicker.Builder(MainActivity.this).textSize(14).title("地址选择").titleBackgroundColor("#FFFFFF").confirTextColor("#696969").cancelTextColor("#696969").province("江苏省").city("常州市").district("天宁区").textColor(Color.parseColor("#000000")).provinceCyclic(true).cityCyclic(false).districtCyclic(false).visibleItemsCount(7).itemPadding(10).onlyShowProvinceAndCity(false).build();cityPicker.show();//监听事件,获取结果cityPicker.setOnCityItemClickListener(new CityPicker.OnCityItemClickListener() {@Overridepublic void onSelected(String... citySelected) {//省份String province = citySelected[0];//城市String city =citySelected[1];//区县(如果设定了两级联动,那么该项返回空)String district = citySelected[2];//邮编String code = citySelected[3];//为展示区赋值mContent.setText(province.trim() + "-" + city.trim() + "-" + district.trim());}});}
}
- activity_main
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.dow.citypickerview.MainActivity"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/tv_btn"android:gravity="center"android:padding="5dp"android:text="地址选择器" /><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/tv_content"android:gravity="center"android:padding="5dp"/>
</LinearLayout>
Android进阶之路 - Citypicker 五分钟内快速实现地址选择器相关推荐
- Android进阶之路 - 仿京东地址选择器使用指南
因为现在项目的地址选择器比较low,自己又比较懒,所以就找到了仿京东的地址选择器,观赏几篇博文之后,发现总是被半路卡死,很难一路走到底,所以在github找到了项目地址,但是作者的功能简介又介绍的不是 ...
- Android进阶之路 - 解决部分手机拍照之后图片被旋转的问题
这几天犯了一个错误,初期想着甩锅给后台的- 但还好及时发现了是自身的问题~ 关联文章 Android基础进阶 - 调用拍照.获取图片(基础) Android基础进阶 - 获取.调用相册内图片(基础) ...
- 黎想深度访谈腾讯顶级产品经理的进阶之路——第五篇《匠心》
16个月精心打磨,9位顶级产品专家研讨提炼,凝聚腾讯产品经验的八集八分钟产品课分别从用户.定位.需求.时机.匠心.危机.合作.商业角度出发,还原产品背后的故事,分享给你腾讯产品的心法.艺形艺意工作室创 ...
- 五分钟内搭建的混沌电路
简 介: 针对一种简单的混沌电路进行测试,没有能够复现电路的工作状态.具体原因尚未清楚. 关键词: 混沌电路,相移单管电路 #mermaid-svg-QPl6WYe8NnE6m9yt .label{f ...
- 在五分钟内学习使用Python进行类型转换
by PALAKOLLU SRI MANIKANTA 通过PALAKOLLU SRI MANIKANTA 在五分钟内学习使用Python进行类型转换 (Learn typecasting in Pyt ...
- Android进阶之路 - 批量下载、缓存图片、视频
之前已经记录过,批量下载图片和缓存本地的方式,此篇主要记录批量下载图片.视频,同时缓存在本地的功能实现 关联篇 Android进阶之路 - 批量下载.缓存图片 Android进阶之路 - 批量下载.缓 ...
- Android进阶之路 - 软键盘中右下角的设置与监听
在项目中,多多少少会遇到修改软键盘右下角按钮的需求,虽然已经写过几次,但是还是觉得在这里专心做个笔记比较放心 ~ 我的那些软键盘Blog ~ Android进阶之路 - 常见软键盘操作行为 Andro ...
- Android进阶之路 - 批量下载、缓存图片
在日常项目开发中,关于图片批量下载,数据缓存的相关功能比比皆是,这次也是去年在项目中需要在本地缓存商品数据,所以用到了批量下载的功能,特此记录 ~ 关联篇 Android进阶之路 - 批量下载.缓存图 ...
- Android进阶之路 - 存、取、读 本地 Json 文件
最近在开发中又开始加载一些本地的json数据源,回头看之前竟然没记录,赶紧记录一波 ~ 如何准备一个合格的json文件? AndoridStudio中如何存放json文件? 如何读取本地Json文件数 ...
最新文章
- 物理史2000年来最精彩的对决!
- 关于Delegate 和 MulticastDelegate的实现
- Java 技术篇 - 连接oracle数据库执行sql使用close()关闭createStatement()无效无法清除游标缓存问题解决,报“ORA-01000: 超出打开游标的最大数“错误解决方法
- 程序员硬核宝典(面试题集、在线免费工具箱)
- 拆分备份(还原)比较大的数据库为多个bak文件
- php 动态设置utf8,PHP对GB编码动态转UTF-8几种方法评测
- documentbodyscrollTop的值总为零的解决办法
- 事件内核对象 CreateEvent
- java maven restful_使用 maven 生成一个支持端到端自动测试的 RESTful 服务项目脚手架...
- 我真的还是18岁的那个我
- QT-C++ Nesting排料优化,广告,服装,木工排料(支持矩形、异形排版,提高优化效率)
- 前端工程师的摸鱼日常(9)
- Linux创建桌面快捷方式
- java报表技术总结_15个Java的报表工具总结
- linux mint 19界面美化,Linux Mint19字体、主题美化
- 菜鸟教程php模拟器,史上最强劲的android模拟器命令详解
- Unity Ugui 详解 Content Size Fitter 和 Horizontal Layout Group 的使用
- 汉庭酒店专属歌曲发布,由左小祖咒和罗永浩创作
- 计算机重启后一直黑屏转圈,技术员教你解决win10开机无限黑屏转圈重启的解决方法...
- 码元速率 matlab,[转载]基于小波变换的移相键控信号符号速率估计(matlab仿真)...