【HarmonyOS】鸿蒙应用开发中使用CommonDialog时调用setSwipeToDismiss()右滑关闭dialog功能为什么无法正常关闭?
【问题描述】
使用CommonDialog的setSwipeToDismiss(true)方法设置Dialog向右侧滑关闭的功能,如下图所示,左侧是完整的Dialog,中间是向右侧滑的过程,最右侧是滑动结束后的样子,白色背景的Dialog消失了,但是Dialog下方的透明遮罩层并未消失,此时无法操作屏幕上的其它按钮。
问题截图:
出现该问题的代码如下图所示:
【解决方案】
经过对代码的测试分析之后发现,dialog.setSwipeToDimiss(true)的调用需要放在dialog.show()方法的下面,开发文档中对dialog.setSwipeToDismiss(true)的说明如下图所示:
可以看到文档中只对该方法的具体含义以及相关参数进行了说明,并未标明使用次序问题,很容易出现以上问题,需要特别注意。