用户触摸屏幕(外部)时如何隐藏对话框?
问题描述:
我应该在哪里实现dialog.hide
来隐藏我的对话框,当用户在libgdx中触摸屏幕时,我的意思是在对话框的边界之外。用户触摸屏幕(外部)时如何隐藏对话框?
我正在寻找类似于Android SDK中的以下内容。
dialog.setCanceledOnTouchOutside(true);
答
阶段都有你的屏幕大小,因此,你可以在舞台上添加输入监听
stage.addListener(new InputListener(){
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
//you action here
stage.removeActor(dialog);
return true;
}
});
对话必须是你的类的领域,当然
'阶段。 removeActor'不存在 – Lynob
是的,这是我的错误。对话框不属于这个阶段。用'dialog.hide()改变'stage.removeActor'' – danielleontiev
这是做到这一点的方法之一,它的缺点是它关闭了触摸对话框,即使触摸位于对话框边框内,也不存在一个更好的选项,只有当用户触摸对话边界之外的某个地方时才会关闭对话框。 – Lynob