5

我想要一個電話般的軟鍵盤,只允許輸入數字。僅限電話號碼的軟鍵盤

我可以通過inputType =「number」(其中軟鍵盤爲默認值,但只允許數字作爲輸入)以及phoneType風格(inputType =「phone」)來實現「唯一數字」。但是,即使風格是類似電話的類型,當像電話一樣放在一起時,軟鍵盤允許使用數字以外的符號。

我希望手機般的風格,因爲數字按鈕更大,更容易按,我只需要輸入數字。

除了創建自定義鍵盤之外,還有什麼建議嗎?

回答

5

您可以強制鍵盤時,您可以直接設置輸入型數字之一,不知道是否有額外的按鈕

EditText t = (EditText) findViewById(R.id.edittext1); 

t.setRawInputType(Configuration.KEYBOARD_12KEY); 

t.setRawInputType(InputType.TYPE_CLASS_PHONE); 

我用的第一個相當一段時間,它的工作,不知道最近的Android版本。

但是,您不能影響佈局。他們的鍵盤由當前鍵盤提供,它可以做任何事情。甚至像給你2個按鈕讓用戶輸入莫爾斯碼如https://play.google.com/store/apps/details?id=org.emergent.android.morseime

如果是鍵盤你得到的是不是你想要的,你必須實現自己的 - 有10個按鍵相對簡單的佈局是不是太多的工作。

+0

感謝您的回答。這兩種方式都可以像inputType =「number」那樣工作。這是我想要的和正確的答案。問題:在使用一種方法或另一種方法(至少在我的Android 2.2.1手機上)之間我看不到任何真正的差異(至少在視覺和輸入行爲中)。兩者之間應該有什麼不同?還是它們只是同義詞? –

+1

兩者都是'int's,值爲'3'。所以沒有區別。不知道哪一個是官方支持的版本。 – zapl

+0

好的......感謝您的快速回復......我會盡快進行搜索! –