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 を実装していますここを参照してください
これらのメソッドをオーバーライドして、必要なすべてのイベントを実装するだけです