HarmonyOS 自定义Popup arrow颜色怎么设置

自定义Popup arrow颜色怎么设置?

.bindPopup(this.showCustomMorePopup, {
  builder: this.morePopupBuilder,
  placement: Placement.Top,
  popupColor: ReadThemeLoader.backgroundLight,
  enableArrow: true,
  arrowWidth:19,
  arrowHeight:7,
  showInSubWindow: false,
  radius: 10
})
@Builder
morePopupBuilder() {
  Column()
    .width('100%')
    .height(200)
    .backgroundColor(ReadThemeLoader.backgroundLight)
}
HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

示例参考如下:

@Entry
@Component
struct BindPopupDemo {
  // 第一步:定义变量控制弹窗显示
  @State customPopup: boolean = false;

  // 第二步:popup构造器定义弹框内容
  @Builder
  popupBuilder() {
    Column({ space: 2 }) {
      Row().width(64)
        .height(64)
        .backgroundColor(0x409eff)
      Text('Popup')
        .fontSize(10)
        .fontColor(Color.White)
    }
    .justifyContent(FlexAlign.SpaceAround)
    .width(100)
    .height(100)
    .padding(5)
  }

  @Builder
  customBubbleInstructionBuilder() {
    Stack() {
      Text() {
        Span("2021年12月20日-2022月1日30日每人限购8件 您已购买3件,还可购5件").fontSize(12)
        Span("您已购买3件,还可购5件").fontSize(14)
      }.fontColor(Color.White)
      .maxLines(2).textOverflow({ overflow: TextOverflow.Ellipsis }).ellipsisMode(EllipsisMode.END)
    }.backgroundColor(0x409eff)
    .width(100)
    .padding({
      left: 12,
      right: 12,
      top: 18,
      bottom: 8
    })
  }

  build() {
    Column() {
      Button('click')// 第四步:创建点击事件,控制弹窗显隐
        .onClick(() => {
          this.customPopup = !this.customPopup;
        })
        .backgroundColor(0xf56c6c)// 第三步:使用bindPopup接口将弹窗内容绑定给元素
        .bindPopup(this.customPopup, {
          builder: this.customBubbleInstructionBuilder,
          placement: Placement.Top,
          maskColor: 0x33000000,
          popupColor: 0xf56c6c,
          enableArrow: true,
          radius: '10vp', // 设置气泡的圆角
          backgroundBlurStyle: BlurStyle.NONE,
          onStateChange: (e) => {
            if (!e.isVisible) {
              this.customPopup = false;
            }
          }
        })
    }
    .justifyContent(FlexAlign.Center)
    .width('100%')
    .height(437)
  }
}

bindPopup设置箭头颜色。添加backgroundBlurStyle: BlurStyle.NONE,参考代码如下:

.bindPopup(this.showMenu, {
  builder: this.longClickMenu(),
  placement: Placement.Bottom,
  enableArrow: true,
  backgroundBlurStyle: BlurStyle.NONE,
  popupColor: $r('app.color.FF292929_FF363638'),
  mask: false,
})
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 如何设置自定义弹框的颜色
135浏览 • 1回复 待解决
如何自定义popup弹窗的布局?
604浏览 • 2回复 待解决
自定义弹框,遮罩背景颜色无法设置
414浏览 • 1回复 待解决
popup组件气泡框指向颜色怎么修改?
7483浏览 • 1回复 待解决
HarmonyOS 如何设置自定义字体
998浏览 • 1回复 待解决
HarmonyOS WebView设置自定义UserAgent
458浏览 • 1回复 待解决
自定义颜色透明度如何实现?
456浏览 • 1回复 待解决
HarmonyOS 自定义设置动态壁纸
308浏览 • 1回复 待解决