/** * 是否有dialog * * @return */ public boolean isHaveDialog() { for (Actor actor : stageTop.getActors()) { if (actor instanceof VDialog) { return true; } } return false; }
/** * 所有Actor恢复响应 */ public void removeFocus() { for (Actor actor : getActors()) { actor.setTouchable(Touchable.enabled); } }
/** * 设置焦点(参数为null的话全屏禁止响应) */ public void setFocus(Actor focusActor) { for (Actor actor : getActors()) { actor.setTouchable(Touchable.disabled); } if (focusActor != null) { focusActor.setTouchable(Touchable.enabled); pop(focusActor); } }
/** * 移除所有Dialog */ public void removeAllDialog() { // 遍历获取顶层所有对话框对象 Array<VDialog> dialogs = new Array<VDialog>(); for (Actor actor : stageTop.getActors()) { if (actor instanceof VDialog) { setNativeTextFieldsHidden((VDialog)actor,true); dialogs.add((VDialog) actor); } } for(VDialog dialog:dialogs){ dialog.remove(); } stage.getRoot().setTouchable(Touchable.enabled); stage.resume(); setNativeTextFieldsHidden(stage.getRoot(),false); }
for (Actor actor : stageTop.getActors()) { if (actor instanceof VDialog) { dialogs.add((VDialog) actor);
/** * 移除dialog并恢复下层响应 */ public void removeDialog(VDialog dialog) { setNativeTextFieldsHidden(dialog,true); dialog.remove(); // 遍历获取顶层所有对话框对象 Array<VDialog> dialogs = new Array<VDialog>(); for (Actor actor : stageTop.getActors()) { if (actor instanceof VDialog) { dialogs.add((VDialog) actor); } } if (dialogs.size > 0) { VDialog nowDialog=dialogs.peek(); nowDialog.setTouchable(Touchable.enabled); nowDialog.resume(); setNativeTextFieldsHidden(nowDialog,false); } else { stage.getRoot().setTouchable(Touchable.enabled); stage.resume(); setNativeTextFieldsHidden(stage.getRoot(),false); } }
/** * 移除顶层dialog */ public void removeTopDialog() { // 遍历获取顶层所有对话框对象 Array<VDialog> dialogs = new Array<VDialog>(); for (Actor actor : stageTop.getActors()) { if (actor instanceof VDialog) { dialogs.add((VDialog) actor); } } VDialog dialog=dialogs.pop(); setNativeTextFieldsHidden(dialog,true); dialog.remove(); if (dialogs.size > 0) { VDialog nowDialog=dialogs.peek(); nowDialog.setTouchable(Touchable.enabled); nowDialog.resume(); setNativeTextFieldsHidden(nowDialog,false); } else { stage.getRoot().setTouchable(Touchable.enabled); stage.resume(); setNativeTextFieldsHidden(stage.getRoot(),false); } }