【发布时间】:2015-06-26 22:41:14
【问题描述】:
使用 libGDX,在这个特定项目中,我们使用Dialog 在用户单击某个按钮时弹出一个框。
我想要的是能够通过点击外部Dialog 来关闭它。
在其他时候,我使用了两个表格,一个背景表格和一个菜单表格,并在背景表格中添加了一个透明背景,单击该背景表格会从Stage 中删除这两个表格。
我尝试过创建一个既有Dialog 又有一个像上面提到的那样的背景表的类,但是背景表从不接收任何操作。
我也尝试在创建对话框之前简单地将这个背景表添加到舞台,但这也不起作用。
最后,我也尝试子类化Dialog,想法是重写show(stage) 方法来改变它的行为,但我不知道怎么做,我不确定它是否无论如何都会工作。
我认为问题在于dialog.show(stage) 将舞台中的情况更改为仅接受对话框的Window 内的点击。我已经看到这个关于adding a close button to a dialog box 的问题,但是使用剪辑设置并不能解决这个问题。
也有可能当show() 调用pack() 方法并执行其布局时,正在发生的事情使我试图做的事情变得不可能。我认为解决方案将覆盖show() 或覆盖pack(),或两者兼而有之,但我不知道该怎么做。
如果需要,我可以发布代码,但这应该是对我尝试过的内容和需要完成的内容的非常完整的描述。
【问题讨论】:
标签: java user-interface dialog libgdx