Java 安卓键盘问题与按键释放
今天我试着将我的游戏加载到xperia mini pro上,我意识到,每当按下硬件按钮时,我都会收到预期的Java 安卓键盘问题与按键释放,java,android,keyboard,Java,Android,Keyboard,今天我试着将我的游戏加载到xperia mini pro上,我意识到,每当按下硬件按钮时,我都会收到预期的onKeyDown回调,但随后我立即在同一个键上得到onkeydup,当我实际释放该键时,不会调用任何回调方法 输入代码如下所示: public final boolean buttons(int keyCode, KeyEvent event, boolean state) { boolean handled = true; switch (keyCode) {
onKeyDown
回调,但随后我立即在同一个键上得到onkeydup
,当我实际释放该键时,不会调用任何回调方法
输入代码如下所示:
public final boolean buttons(int keyCode, KeyEvent event, boolean state) {
boolean handled = true;
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
case KeyEvent.KEYCODE_W:
this.input.KEY_UP = state;
Logger.print("UP: " + state);
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
Logger.print("RIGHT: " + state);
this.input.KEY_RIGHT = state;
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
case KeyEvent.KEYCODE_S:
this.input.KEY_DOWN = state;
Logger.print("DOWN: " + state);
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
this.input.KEY_LEFT = state;
break;
case KEYCODE_BUTTON_SQUARE:
case KeyEvent.KEYCODE_L:
this.input.KEY_FORWARD = state;
break;
case KEYCODE_BUTTON_TRIANGLE:
case KeyEvent.KEYCODE_K:
this.input.KEY_BACKWARD = state;
break;
case KeyEvent.KEYCODE_DPAD_CENTER:
this.input.KEY_ACTION = state;
break;
default:
handled = false;
break;
}
return handled;
}
有没有办法解决这个问题
编辑:很抱歉按了on键
和释放
。实际上是指onKeyDown
和onkeydup
:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return features.inputManager.inputButtons.press(keyCode, event) ?
true : super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return features.inputManager.inputButtons.release(keyCode, event) ?
true : super.onKeyUp(keyCode, event);
}
按下并释放带有true或false参数的方法调用按钮方法。尝试使用:
@Override
public boolean onKeyUp(inr keyCode,KeyEvent event) {
//your stuffs
}
尝试使用:
@Override
public boolean onKeyUp(inr keyCode,KeyEvent event) {
//your stuffs
}