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")
  })
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
HarmonyOS
2024-12-18 15:37:28
浏览
收藏 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)
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
分享
微博
QQ
微信
回复
2024-12-18 17:34:21
相关问题
如何将Ability的UI界面设置成透明
2673浏览 • 1回复 待解决
XComponent 怎么设置成透明
2454浏览 • 1回复 待解决
如何将背景颜色设置透明
3619浏览 • 1回复 待解决
HarmonyOS List组如何将背景设置透明
533浏览 • 1回复 待解决
HarmonyOS 页面如何将背景处理为透明
826浏览 • 1回复 待解决
HarmonyOS 如何将page设置透明
767浏览 • 1回复 待解决
HarmonyOS 如何设置自定义弹窗透明
940浏览 • 1回复 待解决
HarmonyOS 子窗口要如何设置成横屏
769浏览 • 1回复 待解决
HarmonyOS UIAbility如何设置透明背景
778浏览 • 1回复 待解决
Js UI 如何设置状态背景透明的?
3924浏览 • 1回复 待解决
如何自定义popup弹窗的布局?
1101浏览 • 2回复 待解决
HarmonyOS 如何设置背景透明
683浏览 • 1回复 待解决
HarmonyOS 如何设置页面背景透明
763浏览 • 1回复 待解决
如何设置卡片背景透明
3669浏览 • 1回复 待解决
HarmonyOS 弹窗不与页面绑定demo
845浏览 • 1回复 待解决