HarmonyOS overlay是控制图片的填充方式,如何设置颜色遮罩?

HarmonyOS overlay是控制图片的填充方式,如何设置颜色遮罩?

HarmonyOS
2024-10-15 11:10:32
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

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

CustomBuilder遮罩文本内容或自定义组件构造函数。自定义组件作为浮层时,不支持键盘走焦到自定义组件中。

参考demo:

@Entry  
@Component  
struct List_Mask {  
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  
  build() {  
    Column() {  
      List({ space: 20, initialIndex: 0 }) {  
        ForEach(this.arr, (item: number) => {  
          ListItem() {  
            MyListItem_Mask({ item })  
          }  
        }, (item: string) => item)  
      }  
      .listDirection(Axis.Vertical) // 排列方向  
      .scrollBar(BarState.Off)  
      .friction(0.6)  
      .divider({  
        strokeWidth: 2,  
        color: 0xFFFFFF,  
        startMargin: 20,  
        endMargin: 20  
      }) // 每行之间的分界线  
      .edgeEffect(EdgeEffect.Spring) // 边缘效果设置为Spring  
      .width('90%')  
    }  
    .width('100%')  
    .height('100%')  
    .backgroundColor(0xDCDCDC)  
    .padding({ top: 5 })  
  }  
}  
@Component  
struct MyListItem_Mask {  
  @State isMask: boolean = false  
  @Prop item: number  
  @Builder  overBuilder() {  
    Row() {  
    }  
    .backgroundColor("#50000000")  
  }  
  build() {  
    Stack() {  
      Image($r('app.media.mid'))  
        .draggable(false)  
        .overlay(this.overBuilder())   
        .objectFit(ImageFit.Contain)  
    }  
    .height(100)  
    .width('100%')  
    .borderRadius(10)  
    .backgroundColor(0xFFFFFF)  
  }  
}

overlay里面可以放一个builder修饰的自定义构建函数来实现颜色遮罩。

分享
微博
QQ
微信
回复
2024-10-15 16:40:16
相关问题
自定义弹框,遮罩背景颜色无法设置
337浏览 • 1回复 待解决
填写收获地址智能填充方式
412浏览 • 1回复 待解决
HarmonyOS 如何给image设置遮罩
334浏览 • 1回复 待解决
实名购票场景实现智能填充方式
491浏览 • 1回复 待解决
HarmonyOS 背景图片如何填充满组件
457浏览 • 1回复 待解决
画布上绘制图片如何实现?
342浏览 • 1回复 待解决
HarmonyOS Canvas中关于绘制图片问题
385浏览 • 1回复 待解决
HarmonyOS如何实现gif图片控制
396浏览 • 1回复 待解决
HarmonyOS bindPopup如何设置箭头颜色
274浏览 • 1回复 待解决