目录

HandwriteController (手写套件功能)

手写套件的主要功能入口类,包含手写能力的主要方法。

模型约束:此接口仅可在Stage模型下使用。

系统能力:SystemCapability.Applications.StylusFeature

起始版本:5.0.0(12)

导入模块

import { HandwriteController } from '@kit.Penkit';

本模块提供以下方法,完成手写内容的加载和保存等功能。

方法名称

说明

load

加载手写内容。

save

保存手写内容。

onLoad

加载完成时的回调接口。

load

load(path: string): void

从指定路径加载笔记文件,调用时机:手写套件初始化之后。

模型约束:此接口仅可在Stage模型下使用。

系统能力:SystemCapability.Stylus.Handwrite

起始版本:5.0.0(12)

参数:

参数名

类型

必填

说明

path

string

是

加载文件的路径。

错误码:

以下错误码的详细介绍请参见ArkTS API错误码。

错误码ID

错误信息(此处仅提供错误抛出的关键信息)

1010400001

load filed.

示例:

具体代码示例见onLoad示例。

save

save(path: string): Promise<void>

保存笔记到指定路径,使用Promise异步回调。

调用时机:手写套件加载完之后。

模型约束:此接口仅可在Stage模型下使用。

系统能力:SystemCapability.Stylus.Handwrite

起始版本:5.0.0(12)

参数:

参数名

类型

必填

说明

path

string

是

保存文件的路径。

返回值:

类型

说明

Promise<void>

Promise对象。无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见ArkTS API错误码。

错误码ID

错误信息(此处仅提供错误抛出的关键信息)

1010400002

save filed.

示例:

具体代码示例见onLoad示例。

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为加载的路径。

错误码:

以下错误码的详细介绍请参见ArkTS API错误码。

错误码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中的方法需要放在上述示例的画布控件初始化的回调中运行或自定义的方法中运行。