HarmonyOS 如何实现APP切到后台以及在后台查看时蒙层遮罩效果?

行业要求APP在进入后台后,要增加蒙层遮罩,处于后台时,不可以展示出来app具体内容。切换回前台时,再去除蒙层展示真实内容。

阅读 423
1 个回答

参考如下代码:

在EntryAbility中onWindowStageCreate方法中添加AppStorage.setOrCreate(‘windowStage’,windowStage);

page中demo如下:

import { window } from '@kit.ArkUI';

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';
  @State flag: boolean = false
  onPageShow(): void {
    let windowStage = AppStorage.get("windowStage") as window.WindowStage;
    windowStage.on("windowStageEvent", (data) => {
      if (data === window.WindowStageEventType.PAUSED) {
        this.flag = true
      }
      else {
        this.flag = false
      }
    })
  }

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
    .foregroundBlurStyle(this.flag ? BlurStyle.Thin : BlurStyle.NONE, {
      colorMode: ThemeColorMode.LIGHT,
      adaptiveColor: AdaptiveColor.DEFAULT
    })
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进