2011-03-14 81 views
5

如何在不使用EditText字段的情況下捕獲硬件鍵盤事件?沒有edittext視圖的Android捕獲硬件鍵盤事件

例如,在一個簡單的活動中,在屏幕上顯示一個正方形,當在幻燈片鍵盤上按下「B」時,我想將其變成藍色,當「G」按下時,將其變成綠色等等。

我不需要幫助,顏色代碼,是如何攔截按鍵

這不是軟鍵盤或虛擬鍵盤

回答

4

的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包含關於所按鍵的信息,即關鍵碼。

1

活動類已經實現KeyEvent.CallBack看到here

你只需要重寫這些方法並實現你想要

所有事件