HarmonyOS鸿蒙Next中app首次安装指引功能

HarmonyOS鸿蒙Next中app首次安装指引功能 app第一个安装时到首页和其他主页面会有个指引效果功能

4 回复

"您好。可参考这个demo: https://gitee.com/harmonyos-cases/cases/blob/master/CommonAppDevelopment/feature/highlightguide/README.md#https://gitee.com/openharmony-sig/ohos_highlightguide/tree/master#high_light_guide 1、非网络数据能实现展示了吗?先确认下这个 2、留意这俩个属性跟 .addHighLightWithOptions(‘test’, HighLightShape.CIRCLE, options) ,决定位置 @Provide PosX: number = 0; @Provide PosY: number = 0; 3、应该不会有问题,您先对比看下 aboutToAppear这里。如果仅仅网络导致无法展示,您这边发一份可运行的demo,这边看下代码打印调试下,网络数据可模拟延时任务自定义假数据。 您好场景模拟,实测展示正常,参考demo

import { Controller,
  GuidePage,
  HighLightGuideBuilder,
  HighLightGuideComponent,
  RectF } from '@ohos/high_light_guide';
import router from '@ohos.router';
@Entry
@Component
struct Page241008110345081 {
  private builder: HighLightGuideBuilder | null = null;
  private controller: Controller | null = null;
  @State data:string = ''
  aboutToAppear() {
    this.builder = new HighLightGuideBuilder()
      .setLabel('guide1')
      .alwaysShow(true)
      .addGuidePage(GuidePage.newInstance()
        .addHighLight('Simple')
        .addHighLight(new RectF(0, 310, 200, 360))
        .setHighLightIndicator(this.SimpleIndicator))
    setTimeout(() => {
      this.data = '模拟数据'
      if (this.controller) {
        this.controller.show();
      }
    },2000)
  }
  build() {
    Column() {
      Stack() {
        // 添加引导页布局
        HighLightGuideComponent({
          highLightContainer: this.HighLightComponent.bind(this),
          currentHLIndicator: null,
          builder: this.builder,
          onReady: (controllerParam: Controller) => {
            this.controller = controllerParam;
          }
        })
      }
    }
    .width('100%')
  }
  @Builder
   HighLightComponent() {
    Column() {
      Column() {
        Row() {
          Button('Simple')
            .onClick(() => {
              if (this.controller) {
                this.controller.show();
              }
            }).id('Simple')
          Text(this.data)
        }.margin({ top: 10 })
      }.alignItems(HorizontalAlign.Start)
      .width('100%')
      .height('40%')
    }.alignItems(HorizontalAlign.Start)
    .width('100%')
    .height('100%');
  }
  @Builder
  private SimpleIndicator() {
    Image($r('app.media.app_icon'))
      .width('300px')
      .height('300px')
      .position({ x: 40, y: 100 })
  }
}

问题较多让您久等,建议提供可运行demo附件,会加快问题处理效率。 this.HighLightComponent.bind(this) this指向 修改再试下 // ceshiView.ets 做下修改,代码在下面,实测正常。 1、this.HighLightComponent.bind(this) this指向修改 2、 this.controller.show(); 3、如果还是无法解决,请留下邮箱这面安排会议一起看下这个问题

// 添加引导页布局
        HighLightGuideComponent({
          highLightContainer: this.HighLightComponent.bind(this), // 引导页覆盖时的内容布局插槽
          currentHLIndicator: null, // 引导页的引导层插槽
          builder: this.builder, // 引导页的通用配置构建类
          onReady: (controller: Controller) => { // 引导页准备好的回调,获取引导页控制器
            this.controller = controller;
            this.controller.show();
          }
        })
```"

更多关于HarmonyOS鸿蒙Next中app首次安装指引功能的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


引导页吗?

基本信息

  • 标题: 引导页吗?
  • 作者:
  • 创建时间:
  • 更新时间:
  • 状态:

在HarmonyOS鸿蒙Next中,App首次安装指引功能主要通过系统提供的API和界面组件实现。开发者可以使用AbilityPage来创建首次安装时的引导页面。通过@Entry装饰器和@Component装饰器定义页面的UI布局,并在onPageShow生命周期回调中触发首次安装的引导逻辑。

系统提供了PreferencesStorage等数据存储方式,用于记录App是否首次安装。开发者可以在App启动时检查该标记,若为首次安装,则展示引导页面,并在引导完成后更新标记。

鸿蒙Next还支持IntentNavigation组件,用于在不同页面间跳转,确保引导流程的连贯性。开发者可以通过Intent传递参数,控制引导页面的显示内容和顺序。

此外,鸿蒙Next的ResourceManager支持多语言和多分辨率的资源管理,确保引导页面在不同设备上显示一致。开发者可以通过$r$t引用资源文件中的字符串和图片,提升用户体验。

在首次安装指引功能中,鸿蒙Next还提供了AnimatorTransition组件,用于实现页面切换的动画效果,增强引导页面的交互性。开发者可以通过Animator定义自定义动画,或使用Transition实现页面间的平滑过渡。

总之,鸿蒙Next通过提供丰富的API和组件,支持开发者高效实现App首次安装指引功能,确保用户能够快速上手新安装的App。

在HarmonyOS鸿蒙Next中,首次安装应用时,系统会提供一系列指引功能,帮助用户快速了解和使用新应用。这些指引功能可能包括:权限请求、应用功能介绍、初始设置引导等。开发者可以通过AbilityPage生命周期方法,结合HiLog日志输出,实现首次安装时的个性化指引。系统API如ohos.permission用于权限管理,ohos.ability用于页面导航和数据传递,确保用户获得流畅的首次使用体验。

回到顶部