【发布时间】:2016-08-10 17:51:40
【问题描述】:
我试图在 TextField 获得焦点时抓住“后退”按钮(键盘可见)。
我已经尝试过使用Multiplexer - 在阶段顶部设置“BackProcessor” - 它不起作用:
InputProcessor backProcessor = new InputAdapter() {
@Override
public boolean keyDown(int keycode) {
if ((keycode == Input.Keys.BACK) )
{
Gdx.app.log("INPUT", "BACK");
}
return false;
}
};
InputMultiplexer multiplexer = new InputMultiplexer(backProcessor,
loginStage,registerStage);
Gdx.input.setInputProcessor(multiplexer);
另外,我尝试了render 方法:
if(Gdx.input.isKeyDown(Keys.BACK)
也不行。
上述解决方案除了在键盘可见的那一刻完美运行。
我想要达到什么目的? 当 onScreenKeyboard 可见时,我需要抓住返回按钮。
编辑
我也尝试使用TextFieldListener,但“BackButton”是没有任何“字符代码”的一个键,因此无法在此处捕获:
public void keyTyped(TextField textField, char c)
最终编辑
正如 LibGDX 作者所说 - 无法以正常方式检索它,因为当键盘可见时按下后退按钮时,它会在应用程序之外进行处理。 Android解决方案是覆盖EditText的onPreKeyIme(),但是LibGDX TextField与Android的无关,没有任何联系。
如果有人能指出任何解决此问题的方法,我将不胜感激。
【问题讨论】:
标签: android input libgdx android-softkeyboard back-button