# FlowTag
**Repository Path**: ts_ohos/FlowTag
## Basic Information
- **Project Name**: FlowTag
- **Description**: 鸿蒙版本的流式tag布局 view
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-08-09
- **Last Updated**: 2022-09-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# FlowTag
本项目是基于开源项目FlowTag进行harmonyos化的移植和开发的,可以通过项目标签以及
[github地址](https://github.com/hanhailong/FlowTag)
移植版本:源master v1.0版本
## 项目介绍
### 项目名称:FlowTag
### 所属系列:harmonyos的第三方组件适配移植
### 功能:
harmonyos流式布局,支持点击、单选、多选等,适合用于产品标签等,用法采用Adapter模式,和ListContainer用法一样。
新添加初始化标签功能,使用非常简单,只要你的Adapter实现OnInitSelectedPosition即可,对于点击模式是不存在初始化标签一说的;
对于单选模式来说,如果有多个初始化选择,则默认去第一个;对于多选来说正常使用!!!
## 特色:
* 填充数据和ListContainer用法一样使用Adapter,更新数据直接通过adapter.notifyDataChanged来更新
* 支持点击、单选、多选事件
* 三种模式:FLOW_TAG_CHECKED_NONE、FLOW_TAG_CHECKED_SINGLE、FLOW_TAG_CHECKED_MULTI
* 支持OnTagClickListener单点事件
* 支持OnTagSelectListener单选、多选事件
### 项目移植状态:完全移植
### 调用差异:基本没有使用差异,请参照demo使用
### 原项目Doc地址:https://github.com/hanhailong/FlowTag
### 编程语言:java
### 项目截图(涉及文件仅供demo测试使用)


## 安装教程
#### 方案一
可以先下载项目,将项目中的library库提取出来放在所需项目中通过build配置
```Java
dependencies {
implementation project(":library")
}
```
#### 方案二
- 1.项目根目录的build.gradle中的repositories添加:
```groovy
buildscript {
repositories {
...
mavenCentral()
}
...
}
allprojects {
repositories {
...
mavenCentral()
}
}
```
- 2.开发者在自己的项目中添加依赖
```groovy
dependencies {
implementation 'com.gitee.ts_ohos:flowtag:1.0.0'
}
```
# How to use
// 设置适配器
mColorFlowTagLayout.setAdapter(mColorTagAdapter);
// 设置选中模式: 点击,单选,多选
mColorFlowTagLayout.setTagCheckedMode(FlowTagLayout.FLOW_TAG_CHECKED_SINGLE);
// 获取选中模式
mColorFlowTagLayout.getmTagCheckMode();
// 设置点击监听回调
mColorFlowTagLayout.setOnTagSelectListener(new OnTagSelectListener() {
@Override
public void onItemSelect(FlowTagLayout parent, List selectedList) {
}
});
// 设置单选or多选监听回调
mColorFlowTagLayout.setOnTagClickListener(new OnTagClickListener() {
@Override
public void onItemClick(FlowTagLayout parent, Component view, int position) {
}
});
// 清除所选数据
mColorFlowTagLayout.clearAllOption();
* 添加初始化选中标签
* 单选模式下初始化标签只有第一个起作用
* 多选模式下只要设置初始化选中就可以
* 添加初始化选中标签代码示例
* Adapter实现OnInitSelectedPosition接口
* 实现接口中isSelectedPosition方法就可以,选中返回true,不选中默认返回false
public class TagAdapter extends BaseAdapter implements OnInitSelectedPosition {
@Override
public boolean isSelectedPosition(int position) {
if (position % 2 == 0) {
return true;
}
return false;
}
}
#版本更新
##2016/6/26
添加初始化选中标签
单选模式下初始化标签只有第一个起作用
多选模式下只要设置初始化选中就可以
添加初始化选中标签代码示例
Adapter实现OnInitSelectedPosition接口
实现接口中isSelectedPosition方法就可以,选中返回true,不选中默认返回false
public class TagAdapter extends BaseAdapter implements OnInitSelectedPosition {
@Override
public boolean isSelectedPosition(int position) {
if (position % 2 == 0) {
return true;
}
return false;
}
}