我在我的libgdx应用程序中设置了一个舞台,其中有三个文本字段,在桌面模式和Android模式下获得不同的行为。在Android上,键入回车键会将光标移动到下一个文本字段。在桌面上,键入回车键没有任何作用。
如何使光标在两个平台上始终移动?当用户键入enter时,我希望能够将焦点设置到另一个字段。在Android上,无论我将焦点设置到什么地方,默认的回车键行为都会跳转到该字段之后的字段。
这是我目前使用的代码,用于移动光标并清除下一个字段:
我尝试取消事件或从处理程序方法返回true,但焦点仍然在我的代码完成后移动。
我的完整示例代码在GitHub上。
如何使光标在两个平台上始终移动?当用户键入enter时,我希望能够将焦点设置到另一个字段。在Android上,无论我将焦点设置到什么地方,默认的回车键行为都会跳转到该字段之后的字段。
这是我目前使用的代码,用于移动光标并清除下一个字段:
stage.addListener(new InputListener() {
@Override
public boolean keyUp(InputEvent event, int keycode) {
if (keycode == Input.Keys.ENTER) {
nextField();
}
return false;
}
});
Gdx.input.setInputProcessor(stage);
}
private void nextField() {
TextField nextField =
stage.getKeyboardFocus() == text1
? text2
: stage.getKeyboardFocus() == text2
? text3
: text1;
nextField.setText("");
stage.setKeyboardFocus(nextField);
}
我尝试取消事件或从处理程序方法返回true,但焦点仍然在我的代码完成后移动。
我的完整示例代码在GitHub上。