# WhiteBoard **Repository Path**: dot_happydz_admin/WhiteBoard ## Basic Information - **Project Name**: WhiteBoard - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-08-17 - **Last Updated**: 2021-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WhiteBoard #### 项目介绍 - 项目名称:WhiteBoard - 所属系列:openharmony的第三方组件适配移植 - 功能:是一个可涂鸦、绘图、添加文字、图像(可旋转缩放)、背景的Fragment,其中主要由SketchView利用matrix完成所有图形绘制操作。 - 项目移植状态:主功能完成,画布添加文本功能,由于api问题暂无法自适应换行 - 调用差异:1. 画布添加文本功能,由于api暂无法设置最大长度无法自适应变化文本框,不能随文字的做少变化和换行(输入文字的文本框大小未随文字的多少而变化) 2. 画布中做了保存操作,但是api无效:进行返回操作后,画板修改内容无法保存(进行返回操作后,画板修改内容未保存) - 开发版本:sdk6,DevEco Studio2.2 Beta1 - 基线版本:master分支 #### 效果演示 #### 安装教程 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:WhiteBoard:1.0.0') ...... } ``` 在sdk6,DevEco Studio2.2 Beta1 下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 #### 使用说明 Demo中调用library组件库,由于组件库是通过Fraction实现自定义调用,所以在demo中只需要设置进入操作。 1、布局文件中设置自定义组件的显示容器: ```xml ``` 代码调用效果 ```java WhiteBoardFraction whiteBoardFraction = new WhiteBoardFraction(); ((FractionAbility) getAbility()).getFractionManager().startFractionScheduler() .add(ResourceTable.Id_fl_main, whiteBoardFraction, "fraction") .submit(); ``` 主功能主要实现在 WhiteBoardFraction中,菜单效果如下: ```xml ``` 2、自定义组件类 SketchView 该类是实现全部功能的主要类。 ```xml ``` 有如下几个调用接口: ```java mSketchView.setEditMode(SketchView.getEditStroke()); // 画笔 mSketchView.setStrokeType(STROKE_TYPE_ERASER); // 橡皮檫 mSketchView.undo(); // 撤销 mSketchView.redo(); // 反撤销 mSketchView.createCurThumbnailBM(); // 设置背景 ``` #### 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 当前版本demo部分功能暂不支持模拟器运行 #### 版本迭代 - 1.0.0