Android捕获硬件键盘事件而不使用edittext视图 [英] Android capture hardware keyboard event without edittext view

查看:154
本文介绍了Android捕获硬件键盘事件而不使用edittext视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在不使用EditText字段的情况下捕获硬件键盘事件?

How can I capture the hardware keyboard events without using an EditText field?

例如,在一个简单的活动中,在屏幕上显示一个正方形,当在滑动键盘上按下"B"时,我想将其变为蓝色,当按下"G"时,将其变为绿色,等等.

For example, in a simple activity the display a square on the screen, when a "B" is pressed on the slide keyboard I want to turn it blue, when a "G" is presses, turn it Green, etc.

我不需要颜色代码方面的帮助,只是如何截取按键

I don't need help with the color code, just how to intercept the keypress

这与软键盘或虚拟键盘无关

This is not about the soft or virtual keyboard

推荐答案

Android类通常提供事件处理程序,您可以在对它们进行子类化时实现. Activity类具有以下事件处理程序:

Android classes usually provide event handlers, you can implement when subclassing them. The Activity class has the following event handlers:

  • 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 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)

此外,所有视图都具有以下事件处理程序:

In addition all views have the following event handlers:

  • onKeyDown(int, KeyEvent)
  • onKeyUp(int, KeyEvent)
  • onKeyDown(int, KeyEvent)
  • onKeyUp(int, KeyEvent)

我猜想还有许多其他类具有针对关键事件的类似事件处理程序,但这对于您的情况应该足够了.然后, KeyEvent 包含有关按下的键的信息,即键代码.

I guess there are many other classes that have similar event handlers for key events, but this should be enough for your situation. The KeyEvent then contains information about the pressed key, i.e. the key code.

这篇关于Android捕获硬件键盘事件而不使用edittext视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆