# ohos-multitoggle
**Repository Path**: chinasoft5_ohos/ohos-multitoggle
## Basic Information
- **Project Name**: ohos-multitoggle
- **Description**: 滚轮控件,基于滑动列表实现,可以自定义样式
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: https://gitee.com/chinasoft5_ohos/ohos-multitoggle
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-07-26
- **Last Updated**: 2021-09-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ohos-multitoggle
## 项目介绍
- 项目名称:ohos-multitoggle
- 所属系列:openharmony的第三方组件适配移植
- 功能:滚轮控件,基于滑动列表实现,可以自定义样式
- 项目移植状态:主功能完成
- 调用差异:无
- 开发版本:sdk6,DevEco Studio2.2 beta1
- 基线版本:1.8.3@aar
## 效果演示

## 安装教程
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:multitogglebutton:1.0.0')
......
}
```
在sdk6,DevEco Studio2.2 beta1下项目可直接运行
如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件,
并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
## 使用说明
1.将仓库导入到本地仓库中
2.新增MainAbility继承Ability,代码实例如下:
##### Java:
```Java
public class MainAbility extends Ability {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
setUIContent(ResourceTable.Layout_ability_main);
MultiToggleButton mtb1 = (MultiToggleButton) findComponentById(ResourceTable.Id_mtb1);
String[] yesNoArray =
resourceManager
.getElement(ResourceTable.Strarray_yes_no_array)
.getStringArray();
mtb1.setItems(yesNoArray);
mtb1.setOnItemSelectedListener(listener()).setLabel("Yes", 0);
}
}
```
##### XML:
```xml
```
##### 设置Item监听
```java
mtb.setOnItemSelectedListener((toggleButton, item, index, label, selected) -> {
toast(selected ? "selected" : "deselected"));
});
```
##### 获取选中的items
您可以获得选定的Item。
```java
Selected selected = toggleButton.getSelected();
boolean isAnySelected = selected.isAnySelected();
boolean isAllSelected = selected.isAllSelected();
boolean isSingleItem = selected.isSingleItem();
int singleItemPosition = selected.getSingleItemPosition();
TextView singleItem = selected.getSingleItem();
List selectedItems = selected.getSelectedItems();
List selectedPositions = selected.getSelectedPositions();
```
##### 设置颜色
您可以为不同的状态选择任何想要的颜色。
```java
mtb.setColorRes(R.color.mtb_green, R.color.mtb_gray);
```
设置颜色有很多方法。看一下 `ToggleButton`
##### 圆角
你可以设置圆角:
```java
mtb.setRoundedCorners();
```
##### 圆角
可以设置默认圆角值为 `20vp` :
```java
mtb.setCornerRadius(20);
```
###### 注意:
如果你设置角半径为 `setCornerRadius`,不需要设置 `setRoundedCorners`.
##### 多选
```java
mtb.multipleChoice(true)
```
#####最大选择item数
您可以设置允许选择的最大项目
```java
mtb.maxSelectedItems(2, max -> toast("Can't select more than " + max + " items."));
```
###### 注意:
如果设置 `maxSelectedItems`, 不需要设置 `multipleChoice(true)`.
##### Scroll
如果`MultiToggleButton` 需要滚动,可以这样设置
```java
mtb.setScrollable(true);
```
###### 注意:
默认情况下,滚动是禁用的。
##### See 'app' module for the full code.
## 测试信息
CodeCheck代码测试无异常
CloudTest代码测试无异常
病毒安全检测通过
当前版本demo功能与原组件基本无差异
## 版本迭代
- 1.0.0
- 0.0.1-SNAPSHOT
## 版权和许可信息
Apache license 2.0