单击对话框外部以关闭对话框



使用libGDX,在这个特定的项目中,我们使用Dialog在用户单击某个按钮时弹出一个框。

我想要的是能够通过点击Dialog的外部来关闭它。

在其他时候,我使用了两个表,一个背景表和一个菜单表,并在背景表中添加了一个透明背景,当单击该背景表时,将从Stage中删除这两个表。

我已经尝试过创建一个类,该类同时具有Dialog和一个背景表,就像上面提到的一样,但背景表从未接收到任何操作。

在创建对话框之前,我也尝试过简单地将这个背景表添加到后台,但这也不起作用。

最后,我还尝试了Dialog的子类,其想法是覆盖show(stage)方法来更改其行为,但我不知道如何执行此操作,也不确定它是否有效。

我认为问题是dialog.show(stage)将阶段中的情况更改为只接受对话框的Window内部的单击。我看到过这个关于在对话框中添加关闭按钮的问题,但使用剪切设置无法解决这个问题。

还有一种可能性是,当show()调用pack()方法并进行布局时,可能发生了一些事情,使我试图做的事情变得不可能。我认为解决方案将覆盖show()或覆盖pack(),或者两者都覆盖,但我不知道如何做到这一点。

如果需要的话,我可以发布代码,但这应该是我尝试过的和需要完成的非常完整的描述。

我知道这是一个老问题,但对于像我这样在整个网站上搜索答案却在libGDX代码中找到答案的人来说,通过代码对.close()libGDX对话框的答案只是调用方法

dialog.hide();

编辑(从下面的评论中添加):

所以他所需要做的就是注册一个全球着陆事件,看看是否触摸发生在他的对话框的矩形内,如果没有,关闭

相关内容

  • 没有找到相关文章

最新更新