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