目前没有统一处理全局水印的方式,可以把水印样式定义成公共组件,可参考如下代码:1、定义全局的水印组件@Entry @Component export struct WaterMarkComponent { build() { Column({ space: 10 }) { Text("TestMark") .fontSize(50) .fontColor(Color.Gray) } .width("100%") .height('100%') .backgroundColor("#51aaaaaa") .justifyContent(FlexAlign.Center) } } // 2、基于水印组件定义一个export的custombuilder,以供全局使用 @Builder export function createWaterMark() { WaterMarkComponent() .hitTestBehavior(HitTestMode.None) // 必须设置其触摸测试为None或Transparent,否则正常组件无法响应事件 }2.在需要加水印页面的根节点上添加.overlay属性,并使用上述的custombuilder// 3、在需要加水印页面的根节点上添加.overlay属性,并使用上述的custombuilder import { promptAction } from '@kit.ArkUI' import {createWaterMark} from '../pages/DetailPage' @Entry @Component struct TestMarkDemo { build() { Row() { Column() { Text('click') .fontSize(50) .fontWeight(FontWeight.Bold) .onClick(() => { // 测试对正常事件的响应 promptAction.showToast({ message: 'test' }) }) } .width('100%') } .height('100%') .overlay(createWaterMark()) } }
目前没有统一处理全局水印的方式,可以把水印样式定义成公共组件,可参考如下代码:
1、定义全局的水印组件
2.在需要加水印页面的根节点上添加.overlay属性,并使用上述的custombuilder