HarmonyOS 鸿蒙Next CustomDialog 跳转页面,新页面竟然不是遮住弹框的,而是在弹框下面展示了

HarmonyOS 鸿蒙Next CustomDialog 跳转页面,新页面竟然不是遮住弹框的,而是在弹框下面展示了 CustomDialog 跳转页面,新页面竟然不是遮住弹框的,而是在弹框下面展示了

4 回复

鸿蒙这个弹窗规则太糟糕了,之前CustomDialogController强绑定页面,好不容易出个不用强绑定的,又有这个问题,我们会从接口返回参数判断是否要弹弹窗,不只一个,有多个时候关闭弹窗跳转到新页面在新页面上会直接打开第二个弹窗,这个就不能搞成当前页面的弹窗只在当前页面打开吗

更多关于HarmonyOS 鸿蒙Next CustomDialog 跳转页面,新页面竟然不是遮住弹框的,而是在弹框下面展示了的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


CustomDialog 在以前的版本会自动关闭弹窗,从5.0.0.17版本(api12)后弹窗规格变化不会自动关闭,使用 router 切换时 CustomDialog 始终展示在最上层。

规格说明: https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/changelogs/OpenHarmony_5.0.0.17/changelogs-arkui.md#clarkui2–dialog%E5%9C%A8%E9%A1%B5%E9%9D%A2%E8%B7%AF%E7%94%B1%E8%B7%B3%E8%BD%AC%E6%97%B6%E5%85%B3%E9%97%AD%E8%A1%8C%E4%B8%BA%E5%8F%98%E6%9B%B4

需要手动调用 close 方法在跳转时关闭弹窗,返回后重新拉起

  1. 跳转页面的时候,销毁弹窗。

  2. 返回的时候在判断是否继续显示

在HarmonyOS鸿蒙系统中,当你使用Next CustomDialog进行页面跳转时,如果新页面在弹框下面展示而不是遮住弹框,这通常是由于页面层级管理或显示逻辑的问题。

在鸿蒙开发中,对话框(Dialog)通常是在当前页面之上以模态方式显示的。如果你在新页面中遇到了层级问题,可能是因为对话框的显示逻辑与新页面的创建逻辑发生了冲突。以下是一些可能的原因和解决方法(不涉及Java或C语言):

  1. 检查对话框的显示逻辑:确保对话框是在正确的时机以模态方式弹出的。如果对话框的显示逻辑被错误地处理,可能会导致新页面在其下方显示。

  2. 页面跳转方式:检查你是如何从新页面跳转的。如果是通过启动一个新的Ability,并且这个Ability的显示层级没有正确处理,可能会导致页面层级问题。

  3. 使用AbilityStack:在鸿蒙系统中,页面的层级管理通常是通过AbilityStack来处理的。确保你的页面跳转逻辑正确地管理了AbilityStack。

  4. 对话框与新页面的关系:考虑对话框是否应该在新页面创建之前关闭,或者新页面是否应该在对话框关闭后显示。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部