Eas*_*tBK 1 keyboard android keyboard-events
InputMethodService 中的 OnKeyDown 回调适用于许多硬件键盘按钮,但它不会用左、右、上、下箭头触发。我该如何处理?
感谢您的关注!
您是否看过有关处理关键事件的开发人员文档?您可以尝试 onKeyDown 或 onKeyUp 仅接收一个事件并打印出 keyCode 以查看收到的内容:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
Log.i("your tag", "Keycode: " + keyCode);
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:
leftKeyClick();
return true;
case KeyEvent.KEYCODE_DPAD_RIGHT:
rightKeyClick();
return true;
case KeyEvent.KEYCODE_DPAD_UP:
upKeyClick();
return true;
case KeyEvent.KEYCODE_DPAD_DOWN:
downKeyClick();
return true;
default:
return super.onKeyUp(keyCode, event);
}
}
Run Code Online (Sandbox Code Playgroud)
KeyEvent对象参考提供了更多详细信息。如果您仍然没有检测到箭头键,那么您可能需要重写视图的 onKeyDown 或 onKeyUp 方法,这个类似的问题可能会有用。