首页 > 其他分享 >学习笔记(三十二):[email protected] (布局回调)

学习笔记(三十二):[email protected] (布局回调)

时间:2024-11-10 22:18:55浏览次数:1  
标签:ArkUi layout void 注册 ohos 组件 inspector 回调

概述:

提供注册组件布局和绘制完成回调通知的能力。

一、导入模块
import {inspector} from '@kit.ArkUI'

 

二、绑定指定组件,返回对应的监听句柄

inspector.createComponentObserver

createComponentObserver(id: string): ComponentObserver

 

三、注册\取消注册 回调

参数:

1、type:必须填写字符串'layout'或'draw'。layout: 组件布局完成。draw: 组件绘制完成。

2、callback,

注册回调on 为 监听layout或draw的回调

取消注册回调off 为 需要注册or取消注册的回调,如果参数缺省则取消注册该句柄下所有的回调

 

1、注册布局完成回调

on(type: 'layout', callback: () => void): void

2、注册绘制完成回调

on(type: 'draw', callback: () => void): void

3、取消布局注册回调

off(type: 'layout', callback?: () => void): void

4、取消绘制注册回调

off(type: 'draw', callback?: () => void): void

使用示例:

// ArkUi inspector 使用示例
// 提供注册组件布局和绘制完成回调通知的能力。

import {inspector} from '@kit.ArkUI'
@Entry
@Component
struct InspectorExample {
  @State message: string = 'Hello World';
  // 获取inspector
  observer : inspector.ComponentObserver = inspector.createComponentObserver('root')
  // 定义布局监听函数
  onLayoutComplete: ()=>void = ():void=>{}
  // 定义绘制监听函数
  onDrawComplete: ()=>void = ():void=>{}
  aboutToAppear(){
    // 监听组件布局完成时回调
    this.observer.on('layout',()=>{
      console.log('组件布局完成')
    })
    // 监听组件绘制完成时回调
    this.observer.on('draw',()=>{
      console.log('组件绘制完成')
    })
  }
  build() {
    Row() {
      Column() {
        Button('取消指定回调')
          .fontWeight(FontWeight.Bold)
          .onClick(()=>{
            this.observer.off('layout',this.onLayoutComplete)
            this.observer.off('draw',this.onDrawComplete)
            console.log('取消指定注册回调')
          })
      }
      .width('100%')
    }
    .height('100%')
    .id('root')
  }
}

 

 

 

标签:ArkUi,layout,void,注册,ohos,组件,inspector,回调
From: https://www.cnblogs.com/xqxacm/p/18538655

相关文章

  • Flutter 与鸿蒙三方库 ohos 的适配
    Flutter与鸿蒙三方库ohos的适配一、前期准备flutter开发环境调下载待适配的三方插件(官方插件库地址https://pub.dev/)备注:原生插件目录:lib:是对接dart端代码的入口,由此文件接收到参数后,通过channel将数据发送到原生端;android:安卓端代码实现目录;ios:ios原生端实现目录;ex......
  • 学习笔记(三十):ArkUi-UIContext.getPromptAction(弹窗)
    概述:基于promptAction弹窗演进而来,支持全局自定义弹窗,不依赖UI组件,依赖UIContext,支持在非页面文件中使用,弹窗内容支持动态修改,支持自定义弹窗圆角半径、大小和位置,适合在与页面解耦的全局弹窗、自定义弹窗显示和退出动画等场景下使用。注意:需先使用UIContext中的getPromptAct......
  • 学习笔记(二十八):ArkUi-自定义弹窗 (CustomDialog)
    概述:CustomDialog是自定义弹窗,可用于广告、中奖、警告、软件更新等与用户交互响应操作。开发者可以通过CustomDialogController类显示自定义弹窗一、创建自定义弹框1、使用@CustomDialog装饰器装饰自定义弹窗,可在此装饰器内自定义弹窗内容//自定义弹框内容@CustomDialogst......
  • 学习笔记(二十七):ArkUi-警告弹窗(AlertDialog)
    概述:警告弹窗,需要向用户提问或得到用户的许可。警告弹窗用来提示重要信息,但会中断当前任务,尽量提供必要的信息和有用的操作。避免仅使用警告弹窗提供信息,用户不喜欢被信息丰富但不可操作的警告打断。必选内容包含:标题、可选信息文本、最多3个按钮。可选内容包含:输入框、icon......
  • arkUI:Column和Rom的间距设置(列向,横向)
    arkUI:Column和Rom的间距设置(列向,横向)1主要内容说明2相关内容举例和说明2.1Column的间距(列的间距)2.1.1源码1(Column的间距)2.1.2源码1运行效果2.2Row的间距(横向间距)2.2.1源码2(Row的间距)3.结语4.定位日期1主要内容说明Column:垂直布局组件,子组件从上到下依次......
  • 鸿蒙HarmonyOS(ArkUI基础-3)
    文章目录ArkUI(方舟UI框架)1.简介2.基本概念3.概述4.布局1.概述......
  • 学习笔记(二十五):ArkUi-栅格布局 (GridRow/GridCol)
    概述:栅格布局是一种通用的辅助定位工具,对移动设备的界面设计有较好的借鉴作用。主要优势包括:提供可循的规律:栅格布局可以为布局提供规律性的结构,解决多尺寸多设备的动态布局问题。通过将页面划分为等宽的列数和行数,可以方便地对页面元素进行定位和排版。统一的定位标注:栅格......
  • 学习笔记(二十四):ArkUi-网格 (Grid/GridItem)
    概述:网格布局是由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。网格布局具有较强的页面均分能力,子组件占比控制能力,是一种重要自适应布局,其使用场景有九宫格图片展示、日历、计算器等。ArkUI提供了Grid容器组件和子组件GridItem,用于构建......
  • arkUI:文本框、文本域的创建和常见用法(TextInput 、TextArea)
    arkUI:文本框、文本域的创建和常见用法(TextInput、TextArea)1主要内容说明2例子2.1文本框、文本域的创建(TextInput、TextArea)2.1.1源码1(文本框、文本域的创建)2.1.2源码1运行效果2.2设置文本框的输入类型2.2.1源码2(设置输入框的输入类型)2.2.2源码2运行效果2.3......
  • ArkUI常用数据处理:掌握Map操作与动态数据管理
    在HarmonyOS应用开发中,ArkUI框架提供了丰富的数据处理能力,尤其是对于Map这类非线性容器的操作。本文将详细介绍ArkUI中Map的基本概念、操作方法,以及如何在实际开发中应用Map进行数据处理和动态数据管理。Map的重要性Map是非线性容器的一种,它提供了快速查找、插入和删除键值......