【HarmonyOS】鸿蒙应用开发中使用CommonDialog时调用setSwipeToDismiss()右滑关闭dialog功能为什么无法正常关闭?

 【问题描述】

使用CommonDialog的setSwipeToDismiss(true)方法设置Dialog向右侧滑关闭的功能,如下图所示,左侧是完整的Dialog,中间是向右侧滑的过程,最右侧是滑动结束后的样子,白色背景的Dialog消失了,但是Dialog下方的透明遮罩层并未消失,此时无法操作屏幕上的其它按钮。

 

问题截图:

image.png

image.png

image.png

 

出现该问题的代码如下图所示:

image.png

 

解决方案

经过对代码的测试分析之后发现,dialog.setSwipeToDimiss(true)的调用需要放在dialog.show()方法的下面,开发文档中对dialog.setSwipeToDismiss(true)的说明如下图所示:

image.png

 

可以看到文档中只对该方法的具体含义以及相关参数进行了说明,并未标明使用次序问题,很容易出现以上问题,需要特别注意。

参考文档:https://developer.harmonyos.com/cn/docs/documentation/doc-references/commondialog-0000001054678727#ZH-CN_TOPIC_0000001054678727__setSwipeToDismiss-boolean-

 

 

更多相关学习资料:
https://developer.huawei.com/consumer/cn/forum/topic/0201763274535700931?fid=0102683795438680754?ha_source=zzh
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/4478396/blog/5551212