HarmonyOS APP内有水印功能,如何实现?

APP端有水印的功能(设置水印、移除水印、检测页面是否有水印功能),在HarmonyOS 版本上应该如何实现,是否有对应的示例可以参考,谢谢!

HarmonyOS
2024-10-22 09:37:08
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

可通过浮层的方式给视图设置水印。 具体实现可参考:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-overlay-V5

可以把水印样式定义成公共组件,可参考如下代码:

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,否则正常组件无法响应事件  
}

3、在需要加水印页面的根节点上添加.overlay属性,并使用上述的custombuilder。

import { createWaterMark } from '../components/watermark';  
  
@Entry  
@Component  
struct Index {  
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  
  scroller: Scroller = new Scroller()  
  
  build() {  
    Scroll(this.scroller){  
      Column() {  
        ForEach(this.arr, (item: number) => {  
          Text(item.toString())  
            .width('90%')  
            .height(150)  
            .backgroundColor(0xFFFFFF)  
            .borderRadius(15)  
            .fontSize(16)  
            .textAlign(TextAlign.Center)  
            .margin({ top: 10 })  
            .onClick(()=>{  
  
            })  
        }, (item: string) => item)  
      }.width('100%')  
    }  
    .overlay(createWaterMark())  
  }  
}
分享
微博
QQ
微信
回复
2024-10-22 16:47:08
相关问题
HarmonyOS 绘制水印如何实现
151浏览 • 1回复 待解决
HarmonyOS 如何app 添加水印
229浏览 • 1回复 待解决
canvas如何实现水印效果
861浏览 • 1回复 待解决
如何实现 app 内置全局悬浮球功能
1845浏览 • 1回复 待解决
HarmonyOS 分享功能如何实现
95浏览 • 1回复 待解决
HarmonyOS 背景水印问题
258浏览 • 1回复 待解决
HarmonyOS如何实现头像选择功能
403浏览 • 1回复 待解决
如何使用canvas添加水印
1243浏览 • 1回复 待解决
HarmonyOS 如何实现手势密码功能
377浏览 • 1回复 待解决
HarmonyOS如何实现粘贴板功能
262浏览 • 1回复 待解决
HarmonyOS是否支持图片添加水印
241浏览 • 1回复 待解决
HarmonyOS 如何实现滑动验证码功能
422浏览 • 1回复 待解决
Grid如何实现拖拽功能
2446浏览 • 1回复 待解决
定时提醒功能如何实现?
4866浏览 • 1回复 待解决
鸿蒙如何实现分享功能
17481浏览 • 2回复 待解决
HarmonyOS 如何实现APP内全局弹窗
384浏览 • 1回复 待解决
HarmonyOS 实现RSA加密功能
479浏览 • 1回复 待解决
HarmonyOS 换肤功能怎么实现
394浏览 • 1回复 待解决
HarmonyOS 如何实现语音助手的功能
137浏览 • 1回复 待解决