一連の数字の入力に使用するカスタム EditText があります。クラスのコンストラクターで DigitsKeyListener (getInputType() = 2) を設定しました。
これは、Galaxy S (4.0) で「正しいこと」を行います。ビューがフォーカスを得たときに表示されるキーボードには、数字、「スペース」、ピリオド、カンマ、ダッシュ、バックスペース、および「完了」しかありません。
ただし、古い 2.2 デバイスでは、表示されるキーボードには文字とはるかに幅広い記号が含まれていますが、いずれも必要ありません。
オンラインで次のような例を見つけました。
setRawInputType(Configuration.KEYBOARD_12KEY);
初期化の終わりに。その値は「3」です。これを行うと、2 つの電話の状況が逆になります。Galaxy S のキーボードには (電話のように、各数字の隣に) 文字が表示されるようになりましたが、2.2 デバイスのキーボードは私が求めているもの (つまり、基本的に電卓) です。
バージョン間で機能する「電卓」キーボードを取得するための単一の統一された方法はありますか、それとも SDK バージョン <= X とバージョン > X に対して別のことを行う必要がある状況ですか?
もしそうなら、「X」の値はどうあるべきですか? これは、特定のメジャー リリースで変更されたものですか?