# CityPicker
**Repository Path**: chinasoft2_ohos/CityPicker
## Basic Information
- **Project Name**: CityPicker
- **Description**: 城市选择控件
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 2
- **Created**: 2021-05-24
- **Last Updated**: 2024-09-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# CityPicker
#### 项目介绍
- 项目名称:CityPicker
- 所属系列:openharmony的第三方组件适配移植
- 功能:城市选择控件,实现进出动画效果、城市搜索、首字母查找城市、获取城市相关信息,自定义动画未实现(openharmony xml定义动画功能不完善),自定义主题未实现(openharmony未支持)
- 项目移植状态:主功能完成
- 调用差异:无
- 开发版本:sdk6,DevEco Studio2.2 Beta1
- 基线版本: Release 2.0.3
#### 效果演示
#### 安装教程
1.在项目根目录下的build.gradle文件中,
```
allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
```
2.在entry模块的build.gradle文件中,
```
dependencies {
implementation('com.gitee.chinasoft_ohos:CityPicker:1.0.0')
......
}
```
在sdk6,DevEco Studio2.2 Beta1下项目可直接运行
如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件,
并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
#### 使用说明
注意:热门城市使用`HotCity` ,定位城市使用`LocatedCity`
```java
List hotCities = new ArrayList<>();
hotCities.add(new HotCity("北京", "北京", "101010100")); //code为城市代码
hotCities.add(new HotCity("上海", "上海", "101020100"));
hotCities.add(new HotCity("广州", "广东", "101280101"));
hotCities.add(new HotCity("深圳", "广东", "101280601"));
hotCities.add(new HotCity("杭州", "浙江", "101210101"));
......
CityPicker.getInstance()
.enableAnimation(true) //启用动画效果,默认无
.setLocatedCity(new LocatedCity("杭州", "浙江", "101210101"))) //APP自身已定位的城市,传null会自动定位(默认)
.setHotCities(hotCities) //指定热门城市
.setOnPickListener(new OnPickListener() {
@Override
public void onPick(int position, City data) {
//定位结果:data
}
@Override
public void onCancel(){
//取消选择
}
@Override
public void onLocate() {
//定位接口,需要APP自身实现,这里模拟一下定位
eventHandler.postTask(new Runnable() {
@Override
public void run() {
CityPicker.getInstance()
.locateComplete(new LocatedCity("深圳", "广东", "101280601"), LocateState.SUCCESS);
}
}, 2000);
}
})
.show(getContext());
```
#### 测试信息
CodeCheck代码测试无异常
CloudTest代码测试无异常
病毒安全检测通过
当前版本demo功能与原组件基本无差异
#### 版本迭代
- 1.0.0