HarmonyOS鸿蒙Next中怎样实现CSS样式中遮罩的效果,加了一个自定义弹窗,但是一返回自定义弹窗就消失了,如何让自定义弹窗永久显示
HarmonyOS鸿蒙Next中怎样实现CSS样式中遮罩的效果,加了一个自定义弹窗,但是一返回自定义弹窗就消失了,如何让自定义弹窗永久显示 想实现一个进入应用后判断一个遮罩开关,如果开启就用一个蒙版盖住整个应用,使应用无法操作,我用自定义弹窗实现的话它应用一返回就消失了,怎样让自定义弹窗永久显示,即使返回也不会消失
【背景知识】
为组件绑定overlay属性后,在当前组件上,增加遮罩文本或者叠加自定义组件以及ComponentContent作为该组件的浮层。浮层不通过组件树进行渲染。
【解决方案】
通过给页面根组件Column添加通用属性overlay来实现遮罩效果,示例代码参考如下:
import { promptAction } from '@kit.ArkUI'
@Component
struct Index {
@StorageLink('overlay') overlayFlag: boolean = true
@Builder
CustomMask() {
Column({
space: 10
}) {
Text('遮罩层')
Button('关闭遮罩层')
.onClick(() => {
this.overlayFlag = false
})
}
.justifyContent(FlexAlign.Center)
.width('80%')
.height('80%')
.backgroundColor(Color.Yellow)
}
onBackPress(): boolean | void {
if (!this.overlayFlag) {
return false
}
return true
}
build() {
Column() {
Text('APP实际内容区域')
.fontSize(35)
.onClick(() => {
promptAction.showToast({ message: '触发点击事件...' })
})
}
.height('100%')
.width('100%')
.backgroundColor(Color.Pink)
.overlay(this.overlayFlag ? this.CustomMask() : undefined, {
align: Alignment.Center,
offset: { x: 0, y: 0 }
})
}
}
更多关于HarmonyOS鸿蒙Next中怎样实现CSS样式中遮罩的效果,加了一个自定义弹窗,但是一返回自定义弹窗就消失了,如何让自定义弹窗永久显示的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
666,
基本信息
这是一个测试段落。它包含一些文本和一个链接。
这是另一个段落。

这是最后一个段落。
转换后:
666,
这是一个测试段落。它包含一些文本和一个[链接](http://example.com)。
这是另一个段落。
这是最后一个段落。
在HarmonyOS鸿蒙Next中,要实现CSS样式中遮罩效果并让自定义弹窗永久显示,可以使用@ohos.arkui.advanced.CustomDialogController
来控制弹窗的显示与隐藏。通过设置CustomDialogController
的show
方法,并在弹窗的onPageShow
生命周期中调用show
方法,确保弹窗在页面返回时重新显示。同时,使用@ohos.arkui.advanced.Mask
组件实现遮罩效果,确保弹窗背景变暗。