2011-03-14 16 views
5

¿Cómo puedo capturar los eventos de teclado de hardware sin utilizar un campo Editar texto?Evento de teclado de hardware de captura de Android sin vista de texto de edición

Por ejemplo, en una actividad simple, mostrar un cuadrado en la pantalla, cuando se presiona una "B" en el teclado deslizante, quiero volverlo azul, cuando se presiona una "G", se vuelve verde, etc. .

no necesito ayuda con el código de color, sólo la forma de interceptar la pulsación de tecla

Esto no es sobre el teclado en pantalla o virtual

Respuesta

4

clases Android suelen proporcionar controladores de eventos, se puede aplicar cuando subclassing ellos. La clase Activity tiene los siguientes controladores de eventos:

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

Además todas las vistas tienen los siguientes controladores de eventos:

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

supongo que hay muchas otras clases que tienen controladores de eventos similares para los eventos clave, pero esto debería ser suficiente para su situación. El KeyEvent contiene información sobre la tecla presionada, es decir, el código de tecla.

1

Clase de actividad ya se ha puesto en marcha KeyEvent.CallBack ver here

sólo tiene que sustituir estos métodos e implementa todos los eventos que desea

Cuestiones relacionadas