# nice-spinner
**Repository Path**: getmoon/nice-spinner
## Basic Information
- **Project Name**: nice-spinner
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2021-11-18
- **Last Updated**: 2021-11-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# NiceSpinner
**本项目是基于开源项目nice-spinner进行ohos化的移植和开发的,可以通过项目标签以及github地址(https://github.com/arcadefire/nice-spinner )追踪到原项目版本**
#### 项目介绍
- 项目名称:NiceSpinner
- 所属系列:ohos的第三方组件适配移植
- 功能:带有箭头动画的以不同方式显示内容的下拉列表
- 项目移植状态:完成
- 调用差异:无
- 项目作者和维护人:hihope
- 联系方式:hihope@hoperun.com
- 原项目Doc地址:https://github.com/arcadefire/nice-spinner
- 原项目基线版本:v1.4.5 , sha1:a314c38d085f9450c703656be366a4e64f0b5baa
- 编程语言:Java
- 外部库依赖:无
#### 效果展示

#### 安装教程
方法1.
1. 下载spinner的har包library.har。
2. 启动 DevEco Studio,将下载的har包,导入工程目录“entry->libs”下。
3. 在moudle级别下的build.gradle文件中添加依赖,在dependences标签中增加对libs目录下har包的引用。
```
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
……
}
```
1. 在导入的har包上点击右键,选择“Add as Library”对包进行引用,选择需要引用的模块,并点击“OK”即引用成功。
方法2.
1. 在工程的build.gradle的allprojects中,添加HAR所在的Maven仓地址
```
repositories {
maven {
url 'http://106.15.92.248:8081/repository/Releases/'
}
}
```
1. 在应用模块的build.gradle的dependencies闭包中,添加如下代码:
```
dependencies {
implementation 'com.github.arcadefire.ohos:nice-spinner:1.0.1'
}
```
#### 使用说明
1、布局文件定义,提供控件:NiceSpinner
```xml
```
2、装载数据
```java(详见sample中的MainAbilitySlice类)
(1)加载列表数据
NiceSpinner spinner = (NiceSpinner) findComponentById(ResourceTable.Id_nice_spinner);
List dataset = new LinkedList<>(Arrays.asList("One", "Two", "Three", "Four", "Five"));
spinner.attachDataSource(dataset);
(2)加载strarray.json数据
{
"strarray": [
{
"name": "courses",
"value": [
{
"value": "English"
},
{
"value": "Chinese"
},
{
"value": "Math"
}
]
}
]
}
try {
String[] entries = getResourceManager().getElement(ResourceTable.Strarray_courses).getStringArray();
if (entries != null) {
attachDataSource(Arrays.asList(entries));
}
} catch (IOException | NotExistException | WrongTypeException e) {
e.printStackTrace();
}
```
3、设置监听器
```java
spinner.setOnSpinnerItemSelectedListener(new OnSpinnerItemSelectedListener() {
@Override
public void onItemSelected(NiceSpinner parent, Component view, int position, long id) {
String item = parent.getItemAtPosition(position).toString();
ToastUtils.showToast(MainAbilitySlice.this, "Selected: " + item, 0);
}
});
```
#### 版本迭代
- v1.0.1
#### 版权和许可信息
- Apache Licence