ユーザーが通常数字を入力する EditText があります。したがって、数値ソフト キーボードを取得するために InputType.TYPE_CLASS_NUMBER を使用しています。ただし、場合によっては文字を入力したいユーザーもいるかもしれないので、InputType.TYPE_CLASS_NUMBER と InputType.TYPE_CLASS_TEXT を切り替えるボタンを用意しました。
正常に動作しますが、ハードウェア キーボードを備えたデバイスでは、この動作が非常に奇妙になることがわかりました。その問題を解決するこの回答を見つけたので、それらのデバイスのキーボード切り替え機能を除外できます。
しかし、InputType.TYPE_CLASS_NUMBER と InputType.TYPE_CLASS_TEXT を切り替えるときに、ソフトウェア キーボード レイアウトを決して変更しないデバイスもあります。たとえば、私の asus Transformer Prime タブレットです。ソフトウェア キーボードがレイアウトを変更するかどうかを知るにはどうすればよいですか?