【问题标题】:Android keyboard issue with key release键释放的Android键盘问题
【发布时间】:2012-02-19 08:34:45
【问题描述】:

今天我尝试将我的游戏加载到 xperia mini pro 上并意识到,每当按下硬件按钮时,我都会按预期收到onKeyDown 回调,但随后我立即在同一个键上得到onKeyUp,当我真正释放键时, 不调用回调方法。

输入代码如下所示:

    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;
}

有没有办法解决这个问题?

编辑:对不起onKeyPressedreleased。其实意思是onKeyDownonKeyUp

    @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);
}

press 和 release 方法调用带有 true 或 false 参数的按钮方法。

【问题讨论】:

    标签: java android keyboard


    【解决方案1】:

    尝试使用:

    @Override
    public boolean onKeyUp(inr keyCode,KeyEvent event) {
    //your stuffs
    }
    

    【讨论】:

      猜你喜欢
      • 2017-12-18
      • 1970-01-01
      • 2017-12-22
      • 2011-10-17
      • 1970-01-01
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多