HarmonyOS 鸿蒙Next如何给UI界面添加一个水印布局

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何给UI界面添加一个水印布局

我有个需求,就是界面上需要显示一个水印蒙版,不只是一个页面,是整个APP的所有页面都需要这个水印蒙版;像Android的话可以在BaseActivity统一给主布局addView一个水印布局,那鸿蒙怎么做到统一给所有页面都添加一个水印蒙版布局?难道每个页面都在Stack里写一遍吗?哪里可以统一设置?如下图

cke_4301.png

7 回复

重写UIActivity,加上水印。

其他页面如果需要水印,就继承这个UIActivity即可

我最近也有这个需求, 就是员工登录后显示全局的工号水印防泄密, 楼主这个需求有实现么? 可以讨论下!

api10支持设置水印

cke_342.png

HarmonyOS的分布式文件系统让我在多设备间共享文件变得更加方便。

木有搜到setWaterMarkImage相关API

直接组件化,你可以自定义组件专门用来实现水印效果,然后每个页面的根节点使用自定义组件就可以了。

需要水印页面的根节点
CustomWatermark(){
  //你页面的具体UI
  Column(){
  }
}

如果是全局只设置一次的话,我也不清楚能否实现,你可以看看window,或者Ability 是否可以统一封装,或者别的更好的办法。

ability文档

自定义组件

HarmonyOS 鸿蒙Next给UI界面添加水印布局,可通过以下两种方式实现:

  1. 使用Canvas组件:在Canvas的onReady函数中,通过绘制文本或图片作为水印,然后利用Stack布局将Canvas组件置于页面顶层,实现水印效果。

  2. 封装水印组件:创建一个自定义的水印组件,内部使用Canvas进行水印绘制,然后通过overlay属性在其他页面组件上添加该水印组件,实现水印的复用和灵活布局。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部