city_pickers
所属分类:Flutter开发
开发工具:Dart
文件大小:234KB
下载次数:0
上传日期:2023-05-15 06:28:07
上 传 者:
sh-1993
说明: 颤动ios城市拾音器
(flutter ios city_pickers)
文件列表:
.pubignore (45, 2023-07-17)
CHANGELOG.md (3198, 2023-07-17)
LICENSE (1057, 2023-07-17)
city_pickers.iml (2030, 2023-07-17)
doc (0, 2023-07-17)
doc\index.md (0, 2023-07-17)
example (0, 2023-07-17)
example\analysis_options.yaml (1452, 2023-07-17)
example\android (0, 2023-07-17)
example\android\app (0, 2023-07-17)
example\android\app\build.gradle (2241, 2023-07-17)
example\android\app\src (0, 2023-07-17)
example\android\app\src\debug (0, 2023-07-17)
example\android\app\src\debug\AndroidManifest.xml (378, 2023-07-17)
example\android\app\src\main (0, 2023-07-17)
example\android\app\src\main\AndroidManifest.xml (1639, 2023-07-17)
example\android\app\src\main\kotlin (0, 2023-07-17)
example\android\app\src\main\kotlin\com (0, 2023-07-17)
example\android\app\src\main\kotlin\com\example (0, 2023-07-17)
example\android\app\src\main\kotlin\com\example\city_pickers (0, 2023-07-17)
example\android\app\src\main\kotlin\com\example\city_pickers\MainActivity.kt (129, 2023-07-17)
example\android\app\src\main\res (0, 2023-07-17)
example\android\app\src\main\res\drawable-v21 (0, 2023-07-17)
example\android\app\src\main\res\drawable-v21\launch_background.xml (438, 2023-07-17)
example\android\app\src\main\res\drawable (0, 2023-07-17)
example\android\app\src\main\res\drawable\launch_background.xml (434, 2023-07-17)
example\android\app\src\main\res\mipmap-hdpi (0, 2023-07-17)
example\android\app\src\main\res\mipmap-hdpi\ic_launcher.png (544, 2023-07-17)
example\android\app\src\main\res\mipmap-mdpi (0, 2023-07-17)
example\android\app\src\main\res\mipmap-mdpi\ic_launcher.png (442, 2023-07-17)
example\android\app\src\main\res\mipmap-xhdpi (0, 2023-07-17)
example\android\app\src\main\res\mipmap-xhdpi\ic_launcher.png (721, 2023-07-17)
example\android\app\src\main\res\mipmap-xxhdpi (0, 2023-07-17)
... ...
Language: [English](https://github.com/hanxu317317/city_pickers/blob/master/README-en.md)
# city_pickers
中国的城市三级联动选择器
# Demo
demo: https://pmbee.alicdn.com/flutter/city_pickers/index.html
# 沟通QQ群
QQ 群号码: 935915271
![image](https://user-images.githubusercontent.com/8518***9/132689722-d9e9a4a0-d3af-44b1-aecc-34cdd36d***6.png)
# 开始
在flutter的项目文件中增加依赖
```
dependencies:
...
city_pickers:^1.1.0
```
关于如何运行flutter项目, 参考官方文档[documentation](https://flutter.io/).
# 使用方法
简单使用方法
```
import 'package:city_pickers/city_pickers.dart';
...
// 通过钩子事件, 主动唤起浮层.
Future
getResult () async {
Result? result = await CityPickers.showFullPageCityPicker(
context: context
);
print('result $a');
// type 1
Result? result = await CityPickers.showCityPicker(
context: context,
);
// type 2
Result? result2 = await CityPickers.showFullPageCityPicker(
context: context,
);
// type 3
Result? result2 = await CityPickers.showCitiesSelector(
context: context,
);
return result;
}
```
## CityPickers 静态方法
|Name|Type|Desc|
|:---------------|:--------|:----------|
|showCityPicker|Function|呼出弹出层,显示多级选择器 |
|showFullPageCityPicker|Function|呼出一层界面, 显示多级选择器|
|showCitiesSelector |Function|呼出一层, 显示支持字母定位城市选择器|
|utils|Function|获取utils接口的钩子|
### showCityPicker 参数说明
|Name|Type|Default|Desc|
|:---------------|:--------|:----|:----------|
|context|BuildContext||上下文对象|
|theme|ThemeData|Theme.of(context)| 主题, 可以自定义|
|locationCode|String|110000| 初始化地址信息, 可以是省, 市, 区的地区码|
|height|double|300| 弹出层的高度, 过高或者过低会导致容器报错|
|showType|ShowType|ShowType.pca| 三级联动, 显示类型|
|barrierOpacity|double|0.5|弹出层的背景透明度, 应该是大于0, 小于1|
|barrierDismissible|bool|true| 是否可以通过点击弹出层背景, 关闭弹出层|
|cancelWidget|Widget||用户自定义取消按钮|
|confirmWidget| Widget || 用户自定义确认按钮 |
|itemExtent|double||目标框高度|
|itemBuilder|Widget||item生成器, function(String value, List lists, item){}, 当itemBuilder不为空的时候. 必须设置itemExtent|
|citiesData|Map|[城市数据](https://github.com/hanxu317317/city_pickers/blob/master/lib/meta/province.dart)|选择器的城市与区的数据源|
|provincesData|Map|[省份数据](https://github.com/hanxu317317/city_pickers/blob/master/lib/meta/province.dart)|选择器的省份数据源|
### showFullPageCityPicker 参数说明
|Name|Type|Default|Desc|
|:---------------|:--------|:----|:----------|
|context|BuildContext|null|上下文对象|
|theme|ThemeData|Theme.of(context)| 主题, 可以自定义|
|locationCode|String|110000| 初始化地址信息, 可以是省, 市, 区的地区码|
|showType|ShowType|ShowType.pca| 三级联动, 显示类型|
|citiesData|Map|[城市数据](https://github.com/hanxu317317/city_pickers/blob/master/lib/meta/province.dart)|选择器的城市与区的数据源|
|provincesData|Map|[省份数据](https://github.com/hanxu317317/city_pickers/blob/master/lib/meta/province.dart)|选择器的省份数据源|
### showCitiesSelector 参数说明
|Name|Type|Default|Desc|
|:---------------|:--------|:----|:----------|
|context|BuildContext|null|上下文对象|
|theme|ThemeData|Theme.of(context)| 主题, 可以自定义|
|locationCode|String|110000| 初始化地址信息, 可以是省, 市, 区的地区码|
|title|String|城市选择器|弹出层界面标题|
|citiesData|Map|[城市数据](https://github.com/hanxu317317/city_pickers/blob/master/lib/meta/province.dart)|选择器的城市与区的数据源|
|provincesData|Map|[省份数据](https://github.com/hanxu317317/city_pickers/blob/master/lib/meta/province.dart)|选择器的省份数据源|
|hotCities|List\|null|热门城市|
|sideBarStyle|[BaseStyle](https://github.com/hanxu317317/city_pickers/blob/develop/lib/src/cities_selector/cities_style.dart)|初始默认样式| 右侧字母索引集样式|
|cityItemStyle|[BaseStyle](https://github.com/hanxu317317/city_pickers/blob/develop/lib/src/cities_selector/cities_style.dart)|初始默认样式| 城市选项样式|
|topStickStyle|[BaseStyle](https://github.com/hanxu317317/city_pickers/blob/develop/lib/src/cities_selector/cities_style.dart)|初始默认样式| 顶部索引吸顶样式|
|scaffoldBackgroundColor|Colors|Colors.white| 页面背景色|
|useSearchAppBar|bool|false|当AppBarBuilder=null的时候, 控制是否开启搜索框 |
|appBarBuilder|Function|null|用户自定义AppBar|
### utils 说明
utils 是用来封装常用的一些方法, 方便使用者能更好的使用该插件. 使用者通过以下方式声明实例, 可以**获取所有的工具类方法**
```
// 声明实例
CityPickerUtil cityPickerUtils = CityPickers.utils();
```
#### Result getAreaResultByCode(String code)
使用者通过地区ID, 获取所在区域的省市县等相关信息. 当未查询到具体信息. 返回空的Result对象.
```
print('result>>> ${cityPickerUtils.getAreaResultByCode('100100)}');
// 输出为: result>>>> {"provinceName":"北京市","provinceId":"110000","cityName":"东城区","cityId":"110101"}
```
# 数据来源
- [国家统计局](http://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2018/index.html)
# 贡献者
# 声明
本项目Example部份代码与样式, 参考借鉴[Flutter Go](https://github.com/alibaba/flutter-go/), **flutter go** 是flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档
### To Do List
- [x] 城市选择器, 借鉴点评
- [x] 支持拼音等模糊搜索
- [ ] 加入单元测试
近期下载者:
相关文件:
收藏者: