如何在不使用 EditText 字段的情况下捕获硬件键盘事件?
例如,在一个简单的活动中,屏幕上显示一个正方形,当在滑动键盘上按下“B”时,我想将其变为蓝色,当按下“G”时,将其变为绿色,等等。
我不需要颜色代码的帮助,只需要如何拦截按键
这与软键盘或虚拟键盘无关
如何在不使用 EditText 字段的情况下捕获硬件键盘事件?
例如,在一个简单的活动中,屏幕上显示一个正方形,当在滑动键盘上按下“B”时,我想将其变为蓝色,当按下“G”时,将其变为绿色,等等。
我不需要颜色代码的帮助,只需要如何拦截按键
这与软键盘或虚拟键盘无关
Android 类通常提供事件处理程序,您可以在子类化它们时实现。该类Activity
具有以下事件处理程序:
onKeyDown(int keyCode, KeyEvent event)
onKeyLongPress(int keyCode, KeyEvent event)
onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
onKeyShortcut(int keyCode, KeyEvent event)
onKeyUp(int keyCode, KeyEvent event)
此外,所有视图都有以下事件处理程序:
onKeyDown(int, KeyEvent)
onKeyUp(int, KeyEvent)
我猜还有许多其他类对关键事件具有类似的事件处理程序,但这对于您的情况应该足够了。KeyEvent然后包含有关按下的键的信息,即键码。
Activity 类已经实现 KeyEvent.CallBack 看这里
您只需要覆盖这些方法并实现您想要的所有事件