手写套件的主要功能入口类,包含手写能力的主要方法。
模型约束:此接口仅可在Stage模型下使用。
系统能力:SystemCapability.Applications.StylusFeature
起始版本:5.0.0(12)
本模块提供以下方法,完成手写内容的加载和保存等功能。
load(path: string): void
从指定路径加载笔记文件,调用时机:手写套件初始化之后。
模型约束:此接口仅可在Stage模型下使用。
系统能力:SystemCapability.Stylus.Handwrite
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
path | string | 是 | 加载文件的路径。 |
错误码:
错误码ID | 错误信息(此处仅提供错误抛出的关键信息) |
|---|---|
1010400001 | load filed. |
示例:
具体代码示例见onLoad示例。
save(path: string): Promise<void>
保存笔记到指定路径,使用Promise异步回调。
调用时机:手写套件加载完之后。
模型约束:此接口仅可在Stage模型下使用。
系统能力:SystemCapability.Stylus.Handwrite
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
path | string | 是 | 保存文件的路径。 |
类型 | 说明 |
|---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
错误码ID | 错误信息(此处仅提供错误抛出的关键信息) |
|---|---|
1010400002 | save filed. |
示例:
具体代码示例见onLoad示例。
onLoad(callback: AsyncCallback<string>): void
注册回调,加载完成后将会触发此回调,使用callback异步回调。
模型约束:此接口仅可在Stage模型下使用。
系统能力:SystemCapability.Stylus.Handwrite
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
callback | AsyncCallback<string> | 是 | 回调函数。当加载成功时,err的message为load success;加载失败时,err的message为load failed;string为加载的路径。 |
错误码:
错误码ID | 错误信息(此处仅提供错误抛出的关键信息) |
|---|---|
1010400001 | load filed. |
import { HandwriteComponent, HandwriteController } from '@kit.Penkit'; @Entry @Component struct HandWritingComponent { controller: HandwriteController = new HandwriteController(); // 根据应用存储规则,获取到手写文件保存的路径,此处仅为实例参考 initPath: string = getContext(this).filesDir + '/aa'; aboutToAppear() { // 加载时设置保存动作完成后的回调。 this.controller.onLoad(this.callback); } // 手写文件内容加载完毕渲染上屏后的回调,通知接入用户,可在此处进行自定义行为 callback = () => { // 自定义行为,例如文件加载完毕后展示用户操作指导 } aboutToDisappear() { } build() { Row() { Stack({ alignContent: Alignment.TopStart }) { HandwriteComponent({ handwriteController: this.controller, onInit: () => { // 画布初始化完成时的回调。此时可以调用接口加载和显示笔记内容 this.controller?.load(this.initPath); }, onScale: (scale: number) => { // 画布缩放时的回调方法,将返回当前手写控件的缩放比例,可在此处进行自定义行为。 } }) Button("save") .onClick(async () => { // 需根据应用存储规则,获取到手写文件保存的路径,此处仅为实例参考 const path = getContext(this).filesDir + '/aa'; await this.controller?.save(path); }) } .width('100%') } .height('100%') } }
HandwriteController中的方法需要放在上述示例的画布控件初始化的回调中运行或自定义的方法中运行。