HarmonyOS 组件绑定popup弹窗,如何将弹窗背景设置成透明状态

popupColor设置成透明但弹窗还是默认白色背景

Image($r("app.media.gray_tips_icon"))
  .width($r("app.string.dp15"))
  .height($r("app.string.dp15"))
  .onClick(() => {
    this.tipPopup = !this.tipPopup
  })
  .bindPopup(this.tipPopup, {
    builder: this.popupBuilder(),
    placement: Placement.Top,
    mask: false,
    popupColor: Color.Transparent,
    enableArrow: true,
    showInSubWindow: false,
    onStateChange: (e) => {
      if (!e.isVisible) {
        this.tipPopup = false
      }
    },
    arrowOffset: $r("app.string.dp50"),
    offset: { x: $r("app.string.dp20") },
    radius: $r("app.string.dp8")
  })
HarmonyOS
12h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

参考代码:

@Entry
@Component
struct PopupExample {
  @State handlePopup: boolean = false
  @Builder popupBuilder(){
    Text('气泡的内容')
  }

  build() {
    Column() {
      Button('PopupOptions')
        .onClick(() => {
          this.handlePopup = !this.handlePopup
        })
        .bindPopup(this.handlePopup, {
          builder: this.popupBuilder(),//内容
          placement:Placement.Bottom, // 气泡的弹出位置
          maskColor: Color.Transparent,
          popupColor:Color.Transparent, // 气泡的背景色
          backgroundBlurStyle: BlurStyle.NONE,
          shadow: {
            radius:0
          },
          onStateChange: (e) => {
            console.info(JSON.stringify(e.isVisible))
            if (!e.isVisible) {
              this.handlePopup = false
            }
          }
        })
    }
    .justifyContent(FlexAlign.Center)
    .height('100%')
    .width('100%')
    .padding({ top: 5 })
    .backgroundColor(Color.Pink)
  }
}
分享
微博
QQ
微信
回复
10h前
相关问题
如何将Ability的UI界面设置成透明
2111浏览 • 1回复 待解决
XComponent 怎么设置成透明
1881浏览 • 1回复 待解决
如何将背景颜色设置透明
2638浏览 • 1回复 待解决
Js UI 如何设置状态背景透明的?
3343浏览 • 1回复 待解决
如何自定义popup弹窗的布局?
439浏览 • 2回复 待解决
如何设置卡片背景透明
2741浏览 • 1回复 待解决
HarmonyOS 弹窗不与页面绑定demo
260浏览 • 1回复 待解决
openharmony怎么设置背景透明模糊?
6555浏览 • 1回复 待解决
如何去除自定义弹窗的白色背景
2371浏览 • 1回复 待解决