# 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测试使用) ![demo运行效果](art/art.png) ![运行效果](art/demo.gif) ## 安装教程 #### 方案一 可以先下载项目,将项目中的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; } }