# 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 - 外部库依赖:无 #### 效果展示 ![gif](screenshot/operation.gif) #### 安装教程 方法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