如何在不使用 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 看这里
您只需要覆盖这些方法并实现您想要的所有事件