HarmonyOS 鸿蒙Next 自定义dialog如何禁止用户通过手势侧滑关闭

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 自定义dialog如何禁止用户通过手势侧滑关闭

自定义dialog如何禁止用户通过手势侧滑关闭,有demo嘛

2 回复
如果您是用[@Entry](/user/Entry)装饰的自定义组件,推荐使用onBackPress方法,具体使用方式请参考此文档:自定义组件的生命周期-自定义组件-ArkTS组件-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者 (huawei.com)

如果您用的是Navigation,也可以用onBackPressed回调对返回事件进行拦截

应合规要求,自定义弹窗的手势侧滑关闭,属于系统自带的返回退出事件,目前无法屏蔽。但在6月底和7月初的版本,会针对自定义弹窗开放禁用手势侧滑关闭,请您耐心等待。

更多关于HarmonyOS 鸿蒙Next 自定义dialog如何禁止用户通过手势侧滑关闭的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,自定义dialog默认可能会继承系统的一些手势行为,包括侧滑返回。为了禁止用户通过手势侧滑关闭自定义dialog,可以采取以下措施:

  1. 设置Dialog属性:在创建Dialog时,设置autoCancel: false,这可以防止用户点击遮障层时关闭Dialog。但此设置并不直接阻止侧滑关闭。
  2. 监听onWillDismiss事件:注册onWillDismiss回调函数,当用户执行左滑/右滑等关闭交互操作时,不会立刻关闭弹窗。在回调函数中,可以通过reason参数获取关闭Dialog的操作类型,从而根据原因选择是否关闭Dialog。
  3. 修改窗口属性:获取Dialog的Window对象后,尝试使用setFlags等方法修改窗口属性,以改变Dialog的默认行为。但请注意,这可能需要重新设置其他标志以确保Dialog的显示不受影响。

如果上述方法均无法解决问题,建议检查Dialog的创建和显示逻辑,确保没有其他代码导致Dialog可以通过侧滑关闭。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部