HarmonyOS 使用CustomDialogController时,如何禁止手势返回弹窗关闭?

HarmonyOS
2024-12-24 16:41:28
975浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
FengTianYa

可以使用 onWillDismiss方法:当用户执行点击遮障层关闭、左滑/右滑、三键back、键盘ESC关闭交互操作时,如果注册该回调函数,则不会立刻关闭弹窗。

在回调函数中可以通过reason得到阻拦关闭弹窗的操作类型,从而根据原因选择是否能关闭弹窗。

可参考以下文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-methods-custom-dialog-box-V5#ZH-CN_TOPIC_0000001847211028__customdialogcontrolleroptions对象说明

参考代码如下

dialogController: CustomDialogController | null = new CustomDialogController({
  builder: CustomDialogExample(),
  cancel: this.exitApp,
  autoCancel: true,
  alignment: DialogAlignment.Bottom,
  onWillDismiss:(dismissDialogAction: DismissDialogAction)=> {
    console.info("reason=" + JSON.stringify(dismissDialogAction.reason))
    if (dismissDialogAction.reason == DismissReason.PRESS_BACK) {
      return
    }
  },
  offset: { dx: 0, dy: -20 },
  gridCount: 4,
  customStyle: false,
  cornerRadius: 10,
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
分享
微博
QQ
微信
回复
2024-12-24 18:03:51


相关问题
HarmonyOS 如何禁止弹窗关闭
1305浏览 • 1回复 待解决
HarmonyOS 页面如何禁止手势返回
838浏览 • 1回复 待解决
HarmonyOS dialog如何禁止侧滑返回关闭
674浏览 • 1回复 待解决
弹窗跳转到页面后返回弹窗不消失
2542浏览 • 1回复 待解决
如何关闭Swiper组件的回弹效果?
1481浏览 • 1回复 待解决
HarmonyOS 如何关闭键盘 再关闭弹窗
1231浏览 • 1回复 待解决