目录

HandwriteComponent(手写套件组件)

本模块提供手写套件组件,组件包含画布和手写工具栏,集成之后快速实现手写能力。

您需要提供手写画布功能入口和回调,画布将在初始化、加载和保存动作完成时触发回调,您可以在回调中自定义应用的行为。

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

装饰器类型:@Component

系统能力:SystemCapability.Stylus.Handwrite

起始版本:5.0.0(12)

参数:

名称

类型

只读

可选

说明

handwriteController

HandwriteController

否

否

手写套件功能类实例。

onInit

() => void

否

是

套件初始化的回调。

onScale

(scale: number) => void

否

是

画布缩放的回调。回调方法的参数是当前画布的缩放值。

导入模块

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

示例:

@Component
struct HandWritingComponent {
  controller: HandwriteController = new HandwriteController();
  // 根据应用存储规则,获取到手写文件保存的路径,此处仅为实例参考
  initPath : string = "aa";

  aboutToAppear(){
    // 加载时设置保存动作完成后的回调。
    this.controller.onLoad(this.callback);
  }

  // 手写文件内容加载完毕渲染上屏后的回调,通知接入用户,可在此处进行自定义行为
  callback = () => {
    // 自定义行为,例如文件加载完毕后展示用户操作指导
  }

  aboutToDisappear(){
    // HandWriteDemo退出时调用保存接口
    const path : string = `savePath`; // 需根据应用存储规则,获取到手写文件保存的路径,此处仅为实例参考
    this.controller?.save(path);
  }

  build() {
    Row() {
      Column() {
        HandwriteComponent({
          handwriteController: this.controller,
          onInit: () => {
            // 画布初始化完成时的回调。此时可以调用接口加载和显示笔记内容
            this.controller?.load(this.initPath);
          },
          onScale: (scale: number) => {
            // 画布缩放时的回调方法,将返回当前手写控件的缩放比例,可在此处进行自定义行为。
          }
        })
      }
      .width('100%')
    }
    .height('100%')
  }
}