# ohos_highlightguide **Repository Path**: openharmony-sig/ohos_highlightguide ## Basic Information - **Project Name**: ohos_highlightguide - **Description**: 基于OpenHarmony的快速实现新手引导层的库,通过简洁链式调用,快速实现引导层的显示。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/openharmony-sig/ohos_highlightguide - **GVP Project**: No ## Statistics - **Stars**: 13 - **Forks**: 11 - **Created**: 2023-08-23 - **Last Updated**: 2025-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚨 **重要提示 | IMPORTANT** > > **⚠️ 此代码仓已归档。新地址请访问 [ohos_highlightguide](https://gitcode.com/openharmony-sig/ohos_highlightguide)。| ⚠️ This repository has been archived. For the new address, please visit [ohos_highlightguide](https://gitcode.com/openharmony-sig/ohos_highlightguide).** > --- > # ohos_highlightguide ## 介绍 基于OpenHarmony的高亮型新手引导组件,通过高亮区域与蒙版背景的明暗度对比,使用户快速锁定重点功能,快速掌握应用基本使用方法。 ## 下载安装 1.安装 ``` ohpm install @ohos/high_light_guide ``` OpenHarmony ohpm 环境配置等更多内容,请参考[如何安装 OpenHarmony ohpm 包](https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_har_usage.md) 。 2.在需要使用的页面导入引导页组件,如Index.ets: ``` import { HighLightGuideBuilder,HighLightGuideComponent,Controller,GuidePage,HighLightShape,RectF} from '@ohos/high_light_guide' ``` ## 使用说明 ``` // 引入引导页 import { Controller, GuidePage, HighLightGuideBuilder, HighLightGuideComponent, RectF } from '@ohos/high_light_guide' private builder: HighLightGuideBuilder | null = null; private controller: Controller | null = null; // 初始化引导页构建类 aboutToAppear() { this.builder = new HighLightGuideBuilder() .setLabel('guide1') .alwaysShow(true) .addGuidePage(GuidePage.newInstance() .addHighLight('Simple') .addHighLight(new RectF(0, 310, 200, 360)) .setHighLightIndicator(this.SimpleIndicator)) } build() { Column() { Stack() { // 添加引导页布局 HighLightGuideComponent({ highLightContainer: this.HighLightComponent, // 引导页覆盖时的内容布局插槽 currentHLIndicator: null, // 引导页的引导层插槽 builder: this.builder, // 引导页的通用配置构建类 onReady: (controller: Controller) => { // 引导页准备好的回调,获取引导页控制器 this.controller = controller; } }) } } .width('100%') } @Builder private HighLightComponent() { Column() { ... // 布局内容 }.alignItems(HorizontalAlign.Start) .width('100%') .height('100%'); } @Builder private SimpleIndicator() { ... // 引导层内容 } ``` ## 接口说明 **HighLightGuideBuilder** 引导页组件的通用配置项构建类。 **setLabel** public setLabel(label: string): HighLightGuideBuilder; 为引导页设置label标签,用于保存引导页的已显示次数。 参数: | 参数名 | 类型 | 必填 | 说明 | |-------|--------| ---- |-----------| | label | string | 是 | 引导页的标签名称。 | 返回值: | 类型 | 说明 | | ------ |---------------| | HighLightGuideBuilder | 引导页通用配置项的构建类。 | **setShowCounts** public setShowCounts(count: number): HighLightGuideBuilder; 配合引导页label标签,限制引导页组件的显示次数,显示次数需要设置为正整数,alwaysShow为true时失效。 参数 | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------------ | | count | number | 是 | 引导页的显示次数。 | 返回值: | 类型 | 说明 | | --------------------- | -------------------------- | | HighLightGuideBuilder | 引导页通用配置项的构建类。 | **alwaysShow** public alwaysShow(isAlways: boolean): HighLightGuideBuilder; 设置组件是否永久显示,优先级高于setShowCounts方法,设置为true时,setShowCounts方法失效。 | 参数名 | 类型 | 必填 | 说明 | | -------- | ------- | ---- | -------------------- | | isAlways | boolean | 是 | 引导页是否永久显示。 | 返回值: | 类型 | 说明 | | --------------------- | -------------------------- | | HighLightGuideBuilder | 引导页通用配置项的构建类。 | **addGuidePage** public addGuidePage(page: GuidePage): HighLightGuideBuilder; 为引导页组件添加引导页配置。 | 参数名 | 类型 | 必填 | 说明 | | ------ | --------- | ---- | ------------ | | page | GuidePage | 是 | 引导页配置。 | 返回值: | 类型 | 说明 | | --------------------- | -------------------------- | | HighLightGuideBuilder | 引导页通用配置项的构建类。 | **setOnGuideChangedListener** public setOnGuideChangedListener(listener: OnGuideChangedListener | null): HighLightGuideBuilder; 为引导页组件添加显示/移除监听。 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- |------------------------------------| ---- | ------------------------ | | listener | OnGuideChangedListener | null | 是 | 引导页的显示状态监听器。 | **OnGuideChangedListener** | 方法名 | 参数 | 说明 | | --------- | --------------------- | ---------- | | onShowed | controller:Controller | 引导页显示 | | onRemoved | controller:Controller | 引导页移除 | 返回值: | 类型 | 说明 | | --------------------- | -------------------------- | | HighLightGuideBuilder | 引导页通用配置项的构建类。 | **setOnPageChangedListener** public setOnPageChangedListener(listener: OnPageChangedListener | null): HighLightGuideBuilder; 为引导页组件添加引导页页面切换监听。 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- |-----------------------------------| ---- | ------------------------ | | listener | OnPageChangedListener | null | 是 | 引导页的页面切换监听器。 | **OnPageChangedListener** | 方法名 | 参数 | 说明 | | ------------- | ----------------- | --------------------------- | | onPageChanged | pageIndex: number | 引导页当前显示的页面index。 | 返回值: | 类型 | 说明 | | --------------------- | -------------------------- | | HighLightGuideBuilder | 引导页通用配置项的构建类。 | **GuidePage** 引导页页面配置项构建类。 **newInstance** public static newInstance(): GuidePage; 获取引导页的实例。 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLight** public addHighLight(componentId: string): GuidePage; 添加高亮组件(componentId需要整个应用内唯一),默认高亮区域为矩形。 参数: | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | ------------------ | | componentId | string | 是 | 高亮组件的唯一id。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLight** public addHighLight(componentId: string, shape: HighLightShape): GuidePage; 添加高亮组件(componentId需要整个应用内唯一),支持设置高亮区域形状,默认形状为矩形。 参数: | 参数名 | 类型 | 必填 | 说明 | | ----------- | -------------- | ---- | ------------------ | | componentId | string | 是 | 高亮组件的唯一id。 | | shape | HighLightShape | 是 | 高亮区域的形状。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLight** public addHighLight(componentId: string, shape: HighLightShape, padding: number): GuidePage; 添加高亮组件(componentId需要整个应用内唯一),支持设置高亮区域形状,默认形状为矩形,支持设置组件padding。 参数: | 参数名 | 类型 | 必填 | 说明 | | ----------- | -------------- | ---- | -------------------------------- | | componentId | string | 是 | 高亮组件的唯一id。 | | shape | HighLightShape | 是 | 高亮区域的形状。 | | padding | number | 是 | 高亮区域距离组件实际坐标的边距。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLight** public addHighLight(componentId: string, shape: HighLightShape, round: number, padding: number): GuidePage; 添加高亮组件(componentId需要整个应用内唯一),支持设置高亮区域形状,默认形状为矩形,支持设置组件的圆角弧度(仅在shape=HighLightShape.ROUND_RECTANGLE时有效),支持设置组件padding。 参数: | 参数名 | 类型 | 必填 | 说明 | | ----------- | -------------- | ---- | ------------------------------------ | | componentId | string | 是 | 高亮组件的唯一id。 | | shape | HighLightShape | 是 | 高亮区域的形状。 | | round | number | 是 | 圆角矩形的圆角弧度。 | | padding | number | 是 | 高亮区域边缘距离组件实际坐标的边距。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLight** public addHighLight(rectF: RectF): GuidePage; 添加指定高亮区域,默认高亮区域为矩形。 参数: | 参数名 | 类型 | 必填 | 说明 | | ------ | ----- | ---- | -------------- | | rectF | RectF | 是 | 指定高亮区域。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLight** public addHighLight(rectF: RectF, shape: HighLightShape): GuidePage; 添加指定高亮区域,支持设置高亮区域形状,默认形状为矩形。 | 参数名 | 类型 | 必填 | 说明 | | ------ | -------------- | ---- | ---------------- | | rectF | RectF | 是 | 指定高亮区域。 | | shape | HighLightShape | 是 | 高亮区域的形状。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLight** public addHighLight(rectF: RectF, shape: HighLightShape, round: number): GuidePage; 添加指定高亮区域,支持设置高亮区域形状,默认形状为矩形,支持设置组件的圆角弧度(仅在shape=HighLightShape.ROUND_RECTANGLE时有效)。 参数: | 参数名 | 类型 | 必填 | 说明 | | ------ | -------------- | ---- | -------------------- | | rectF | RectF | 是 | 指定高亮区域。 | | shape | HighLightShape | 是 | 高亮区域的形状。 | | round | number | 是 | 圆角矩形的圆角弧度。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLightWithOptions** public addHighLightWithOptions(componentId: string, options: HighLightOptions): GuidePage; 添加高亮组件(componentId需要整个应用内唯一),默认高亮区域为矩形,支持设置高亮区域的额外配置,包括高亮区域的点击事件,重绘高亮图形,每次显示引导页时更新组件的位置。 参数: | 参数名 | 类型 | 必填 | 说明 | | ----------- | ---------------- | ---- | -------------------- | | componentId | string | 是 | 高亮组件的唯一id。 | | options | HighLightOptions | 是 | 高亮区域的额外配置。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLightWithOptions** public addHighLightWithOptions(componentId: string, shape: HighLightShape, options: HighLightOptions): GuidePage; 添加高亮组件(componentId需要整个应用内唯一),支持设置高亮区域形状,默认形状为矩形,支持设置高亮区域的额外配置,包括高亮区域的点击事件,重绘高亮图形,每次显示引导页时更新组件的位置。 参数: | 参数名 | 类型 | 必填 | 说明 | | ----------- | ---------------- | ---- | -------------------- | | componentId | string | 是 | 高亮组件的唯一id。 | | shape | HighLightShape | 是 | 高亮区域的形状。 | | options | HighLightOptions | 是 | 高亮区域的额外配置。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLightWithOptions** public addHighLightWithOptions(componentId: string, shape: HighLightShape, round: number, padding: number, options: HighLightOptions): GuidePage; 添加高亮组件(componentId需要整个应用内唯一),支持设置高亮区域形状,默认形状为矩形,支持设置组件的圆角弧度(仅在shape=HighLightShape.ROUND_RECTANGLE时有效),支持设置组件padding,支持设置高亮区域的额外配置,包括高亮区域的点击事件,重绘高亮图形,每次显示引导页时更新组件的位置。 参数: | 参数名 | 类型 | 必填 | 说明 | | ----------- | ---------------- | ---- | ------------------------------------ | | componentId | string | 是 | 高亮组件的唯一id。 | | shape | HighLightShape | 是 | 高亮区域的形状。 | | round | number | 是 | 圆角矩形的圆角弧度。 | | padding | number | 是 | 高亮区域边缘距离组件实际坐标的边距。 | | options | HighLightOptions | 是 | 高亮区域的额外配置。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLight** public addHighLightWithOptions(rectF: RectF, options: HighLightOptions): GuidePage; 添加指定高亮区域,默认高亮区域为矩形,支持设置高亮区域的额外配置,包括高亮区域的点击事件,重绘高亮图形,每次显示引导页时更新组件的位置。 参数: | 参数名 | 类型 | 必填 | 说明 | | ------- | ---------------- | ---- | -------------------- | | rectF | RectF | 是 | 指定高亮区域。 | | options | HighLightOptions | 是 | 高亮区域的额外配置。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLight** public addHighLightWithOptions(rectF: RectF, shape: HighLightShape, options: HighLightOptions): GuidePage; 添加指定高亮区域,支持设置高亮区域形状,默认形状为矩形,支持设置高亮区域的额外配置,包括高亮区域的点击事件,重绘高亮图形,每次显示引导页时更新组件的位置。 参数: | 参数名 | 类型 | 必填 | 说明 | | ------- | ---------------- | ---- | -------------------- | | rectF | RectF | 是 | 指定高亮区域。 | | shape | HighLightShape | 是 | 高亮区域的形状。 | | options | HighLightOptions | 是 | 高亮区域的额外配置。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **addHighLight** public addHighLightWithOptions(rectF: RectF, shape: HighLightShape, round: number, options: HighLightOptions): GuidePage; 添加指定高亮区域,支持设置高亮区域形状,默认形状为矩形,支持设置组件的圆角弧度(仅在shape=HighLightShape.ROUND_RECTANGLE时有效),支持设置高亮区域的额外配置,包括高亮区域的点击事件,重绘高亮图形,每次显示引导页时更新组件的位置。 参数: | 参数名 | 类型 | 必填 | 说明 | | ------- | ---------------- | ---- | -------------------- | | rectF | RectF | 是 | 指定高亮区域。 | | shape | HighLightShape | 是 | 高亮区域的形状。 | | round | number | 是 | 圆角矩形的圆角弧度。 | | options | HighLightOptions | 是 | 高亮区域的额外配置。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **setBackgroundColor** public setBackgroundColor(backgroundColor: string): GuidePage; 为引导页页面添加蒙版背景色,默认颜色为#b2000000。 参数: | 参数名 | 类型 | 必填 | 说明 | | --------------- | ------ | ---- | -------------------- | | backgroundColor | string | 是 | 引导页的蒙版背景色。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **getBackgroundColor** public getBackgroundColor(): string; 获取引导页页面的蒙版背景色,默认颜色为#b2000000。 返回值: | 类型 | 说明 | | ------ | ------------------------ | | string | 引导页页面的蒙版背景色。 | **setEnterAnimation** public setEnterAnimation(enterAnimation: AnimatorOptions | null): GuidePage; 为引导页页面添加进入动画,当前仅支持透明度动画。 参数: | 参数名 | 类型 | 必填 | 说明 | | -------------- |-----------------------------| ---- | ---------------------- | | enterAnimation | AnimatorOptions | null | 是 | 引导页页面的进入动画。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **getEnterAnimation** public getEnterAnimation(): AnimatorOptions | null; 获取引导页页面的进入动画。 返回值: | 类型 | 说明 | |-----------------------------| ------------------ | | AnimatorOptions | null | 引导页的进入动画。 | **setExitAnimation** public setExitAnimation(exitAnimation: AnimatorOptions | null): GuidePage; 为引导页页面添加退出动画,当前仅支持透明度动画。 参数: | 参数名 | 类型 | 必填 | 说明 | | ------------- |-----------------------------| ---- | ---------------------- | | exitAnimation | AnimatorOptions | null | 是 | 引导页页面的退出动画。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **getExitAnimation** public getExitAnimation(): AnimatorOptions | null; 获取引导页页面的退出动画。 返回值: | 类型 | 说明 | |-----------------------------| ------------------ | | AnimatorOptions | null | 引导页的退出动画。 | **setEverywhereCancelable** public setEverywhereCancelable(everywhereCancelable: boolean): GuidePage; 是否支持点击引导页任意位置进入下一个引导页,如果没有下一引导页,则移除引导页。 参数: | 参数名 | 类型 | 必填 | 说明 | | -------------------- | ------- | ---- | -------------------------------------------- | | everywhereCancelable | boolean | 是 | 是否支持点击引导页任意位置进入下一个引导页。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **isEverywhereCancelable** public isEverywhereCancelable(): boolean; 获取是否支持点击引导页任意位置进入下一个引导页。 返回值: | 类型 | 说明 | | ------- | -------------------------------------------- | | boolean | 是否支持点击引导页任意位置进入下一个引导页。 | **isEmpty** public isEmpty(): boolean; 当前引导页组件是否为空,即引导页页数是否为0。 返回值: | 类型 | 说明 | | ------- | ------------------------ | | boolean | 当前引导页组件是否为空。 | **getHighLights** public getHighLights(): HighLight[]; 获取引导页高亮区域的属性信息。 返回值: | 类型 | 说明 | | ----------- | -------------------------- | | HighLight[] | 引导页高亮区域的属性信息。 | **setHighLightIndicator** public setHighLightIndicator(indicator: Function | null): GuidePage; 设置引导页的引导层,引导层布局需要为@Builder注解标准的布局函数。 参数: | 参数名 | 类型 | 必填 | 说明 | | --------- |----------------------| ---- | ---------------------------- | | indicator | Function | null | 是 | 当前引导页的引导层布局函数。 | 返回值: | 类型 | 说明 | | --------- | ---------------------------- | | GuidePage | 引导页页面配置项构建类实例。 | **getHighLightIndicator** public getHighLightIndicator(): Function | null; 获取引导页的引导层布局,引导层布局需要为@Builder注解标注的布局函数。 返回值: | 类型 | 说明 | |----------------------| ---------------------------- | | Function | null | 当前引导页的引导层布局函数。 | **Controller** 引导页组件的控制器。 **show** public show(): void; 显示引导页。 **showPage** public showPage(position: number): void; 显示指定引导页,postion从0开始。 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | ------ | ---- | --------------- | | position | number | 是 | 引导页的index。 | **showPreviewPage** public showPreviewPage(): void; 显示上一引导页。 **remove** public remove(): void; 移除引导页。 **isShowing** public isShowing(): boolean; 指示引导页是否正在显示。 返回值: | 类型 | 说明 | | ------- | ------------------------ | | boolean | 指示引导页是否正在显示。 | **isAnimationRunning** public isAnimationRunning(): boolean; 指示引导页是否有动画正在运行。 返回值: | 类型 | 说明 | | ------- | ------------------------------ | | boolean | 指示引导页是否有动画正在运行。 | **resetLabel** public resetLabel(): void; 重置当前引导页的已显示次数为0。 **resetLabel** public resetLabel(label: string): void; 重置指定标签名称的引导页的已显示次数为0。 参数: | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------ | | label | string | 是 | 引导页标签。 | **HighLightShape** 高亮区域的形状类型。 | 类型 | 说明 | | --------------- | -------- | | CIRCLE | 圆形 | | RECTANGLE | 矩形 | | OVAL | 椭圆 | | ROUND_RECTANGLE | 圆角矩形 | **RectF** 矩形区域对象。 **构造函数** constructor(rect: RectF); 根据指定RectF对象创建 constructor(left: number, top: number, right: number, bottom: number); 根据坐标创建RectF对象。 参数: | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ----------------------- | | left | number | 是 | 矩形区域左上角的X坐标。 | | top | number | 是 | 矩形区域左上角的Y坐标。 | | right | number | 是 | 矩形区域右下角的X坐标。 | | bottom | number | 是 | 矩形区域右下角的Y坐标。 | **getCenterX** public getCenterX(): number; 获取矩形区域的中心点X坐标。 返回值: | 类型 | 说明 | | ------ | ----------------------- | | number | 矩形区域的中心点X坐标。 | **getCenterY** public getCenterY(): number; 获取矩形区域的中心点Y坐标。 返回值: | 类型 | 说明 | | ------ | ----------------------- | | number | 矩形区域的中心点Y坐标。 | **getWidth** public getWidth(): number; 获取矩形区域的宽。 返回值: | 类型 | 说明 | | ------ | -------------- | | number | 矩形区域的宽。 | **getHeight** public getHeight(): number; 获取矩形区域的高。 返回值: | 类型 | 说明 | | ------ | -------------- | | number | 矩形区域的高。 | **HighLightOptionsBuilder** 高亮区域的额外配置构建类。 **setOnClickListener** public setOnClickListener(listener: OnClickListener | null): HighLightOptionsBuilder; 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- |------------------------------| ---- | -------------------- | | listener | OnClickListener | nulll | 是 | 高亮区域的点击事件。 | **OnClickListener** | 方法名 | 参数 | 说明 | | ------- | ---- | -------------------- | | onClick | NA | 高亮区域的点击事件。 | 返回值: | 类型 | 说明 | | ----------------------- | ------------------------------ | | HighLightOptionsBuilder | 高亮区域的额外配置构建类实例。 | **setOnHighLightDrewListener** public setOnHighLightDrewListener(listener: OnHighLightDrewListener | null): HighLightOptionsBuilder; 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- |--------------------------------------| ---- | ------------------------ | | listener | OnHighLightDrewListener | nulll | 是 | 高亮区域的图形重绘事件。 | **OnHighLightDrewListener** | 方法名 | 参数 | 说明 | | --------------- | ------------------------------------------------------- | ------------------------ | | onHighLightDrew | canvasContext2d: CanvasRenderingContext2D, rectF: RectF | 高亮区域的图形重绘事件。 | 返回值: | 类型 | 说明 | | ----------------------- | ------------------------------ | | HighLightOptionsBuilder | 高亮区域的额外配置构建类实例。 | **isFetchLocationEveryTime** public isFetchLocationEveryTime(isFetchLocation: boolean): HighLightOptionsBuilder; 是否每次显示引导页时更新组件的位置。 参数: | 参数名 | 类型 | 必填 | 说明 | | --------------- | ------- | ---- | ------------------------------------ | | isFetchLocation | boolean | 是 | 是否每次显示引导页时更新组件的位置。 | 返回值: | 类型 | 说明 | | ----------------------- | ------------------------------ | | HighLightOptionsBuilder | 高亮区域的额外配置构建类实例。 | **build** public build(): HighLightOptions ; 构建高亮区域的额外配置。 返回值: | 类型 | 说明 | | ---------------- | ---------------------- | | HighLightOptions | 高亮区域的额外配置类。 | **HighLightGuideComponent** 引导页组件。 参数: | 参数名 | 类型 | 必填 | 说明 | | ------------------ | ----------------------------- | ---- | ---------------------------- | | highLightContainer | @Builder | 是 | 引导页组件的内容布局插槽。 | | currentHLIndicator | @Builder|null | 是 | 引导页的引导层布局插槽 | | builder | HighLightGuideBuilder | 是 | 引导页组件的通用配置项构建类 | | onReady | (controller:Controller)=>void | 是 | 引导页准备好时的回调函数 | **注意点集锦** 1. 组件不支持焦点穿透事件。 2. 组件label需要必传。 3. 每个组件的id要全局(整个应用内)唯一。 4. 每个组件设置的显示次数,应为正整数。 5. RectF矩形区域设置的坐标要基于父组件的坐标,取相对坐标。 6. RectF矩形区域的坐标,左上角的坐标要小于右下角的坐标。 7. 目前仅支持透明度动画。 8. padding参数只对高亮区域为带有id的组件有效。 9. round参数只在shape=HighLightShape.ROUND_RECTANGLE时有效。 10. alwaysShow的优先级高于showCounts。 11. everywhereCancleable的优先级高于额外配置中的点击事件。 12. HighLightDrewListener的优先级高于HighLightShape配置。 ## 约束与限制 在下述版本验证通过: DevEco Studio: NEXT Beta1-5.0.3.806,SDK:API12 Release(5.0.0.66) DevEco Studio: 4.1 Canary2(4.1.3.322), SDK: API11 (4.1.0.36) DevEco Studio: 4.0 Release(4.0.3.413), SDK: API10 (4.0.10.3) ## 目录结构 ``` |---- ohos_highlightguide | |---- AppScrope # 工程信息文件夹 | |---- entry # 示例代码文件夹 | |---- library # 引导页组件 | |---- src/main # 模块代码 | |---- ets/highlightguide # 模块代码 | |---- HighLightGuideComponent.ets # 高亮引导页对外暴漏组件 | |---- core # 高亮引导页组件控制器及通用配置构造类 | |---- interface # 引导页组件的高亮区域点击事件监听、显示/移除监听、页面切换监听、高亮区域重绘监听 | |---- model # 用于构建高亮引导页组件的数据模型 | |---- util # 用于构建高亮引导页组件的坐标处理工具类 | |---- index.ets # 入口文件 | |---- *.json5 # 配置文件 | |---- README_zh.md # 安装使用方法 | |---- README.OpenSource # 开源说明 | |---- CHANGELOG.md # 更新日志 ``` ## 贡献代码 使用过程中发现任何问题都可以提 [Issue](https://gitee.com/openharmony-sig/ohos_highlightguide/issues) 给组件,当然,也非常欢迎发 [PR](https://gitee.com/openharmony-sig/ohos_highlightguide/pulls) 共建。 ## 开源协议 本项目基于 [Apache-2.0 License](https://gitee.com/openharmony-sig/ohos_highlightguide/blob/master/LICENSE) ,请自由地享受和参与开源。