省市区三级联动选择器怎么选不踩坑:CityPicker 完整上手指南

📅 2026/8/22 14:15:26
省市区三级联动选择器怎么选不踩坑:CityPicker 完整上手指南
省市区三级联动选择器怎么选不踩坑CityPicker 完整上手指南【免费下载链接】citypickercitypicker城市选择器详细的省市区地址信息支持仿iOS滚轮实现仿京东样式一级或者三级列表展示方式。项目地址: https://gitcode.com/gh_mirrors/ci/citypicker做电商收货地址页你肯定遇到过这个活儿省市区三级联动有的公司给接口有的得自己实现数据文件还得每份项目复制一遍。Android 端的 CityPicker 城市选择器就是干这个的——省市区数据打包内置引用即用还带四种展示样式。定位CityPicker 是什么、和别的不一样在哪一句话这是个把全国省市区数据直接打包进库里的 Android 地址选择器。和别的城市选择器不一样的是它帮你省掉了准备数据这一步——不用找数据文件、不用调接口拉取全国行政区划 JSON 就放在库的 assets 里china_city_data.json约 192KB引用即可。另外它没有只给你一种 UI而是把仿 iOS 滚轮、仿京东、一级城市列表、三级城市列表四种样式一次做齐换风格不用换库。一条依赖跑通在build.gradle里配好 jitpack 仓库然后加一行依赖dependencies { implementation com.github.crazyandcoder:citypicker:6.0.2 }跑通之后建议先克隆仓库把app模块的 demo 装起来把四种样式挨个点开看一遍再决定自己项目用哪个。什么场景适合用它电商收货地址如果你在做下单页的地址填写直接弹仿京东样式的选择器用户选完结果通过OnCityItemClickListener回调给你省市区三层一次拿全。本地服务筛选如果你在做一个外卖或到店服务的城市筛选三级列表样式适合先省、后市、再区逐级缩窄的交互一级列表则适合只关心城市的场景。表单里的地区字段注册、会员资料这类场景仿 iOS 滚轮从底部弹出、不占版面交互也和用户熟悉的系统弹窗一致。设计上的几个巧思数据随包、首次解析后缓存——CityParseHelper在init时解析一次数据并缓存避免每次弹窗都重新加载 192KB 的 JSON这就是引用即用能成立的原因。自定义数据源走继承而不是改源码——想用自己的层级数据继承CustomCityData塞进去就行业务和库代码解耦升级时不冲突。样式参数收敛在CityConfig——滚轮显示条数、是否循环滚动、标题与按钮的文案颜色全在一个配置对象里调。改一行字不用翻布局文件四种样式共用这套配置思路。上手前提醒几句版本V6.0.2 起数据源更新为最新省市区行政数据并优化了汉字转拼音逻辑——带侧边索引的列表页排序准不准就看这个升级时可以留意更新说明。数据时效数据基于 2018 年 12 月县以上行政区划代码新设区县的变动如果急用可以走自定义数据源自己补。混淆库里有不少 Bean 和内部类开 ProGuard 的项目记得按 README 里的方案配一下 keep 规则免得上线后解析报错。下一步做什么直接克隆仓库跑一下 demo四种样式加自定义数据源点一遍手感比读文档快得多。集成中遇到问题项目有专属 QQ 群417846442可以在里面直接问作者。【免费下载链接】citypickercitypicker城市选择器详细的省市区地址信息支持仿iOS滚轮实现仿京东样式一级或者三级列表展示方式。项目地址: https://gitcode.com/gh_mirrors/ci/citypicker创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考