我們在android開發中,必不可少的會使用到文本框(EditText)來進行數據錄入,也就會需要對輸入法進行一些控制。
android:inputType :指定輸入法的類型,int類型,可以用|選擇多個。取值可以參考:android.text.InputType類。
取值包括 text, textUri, phone,number,等。
android:imeOptions :指定輸入法窗口中的回車鍵的功能,可選值為normal,actionUnspecified,actionNone,actionGo,actionSearch,actionSend,actionNext,actionDone。
部分輸入法對此的支持可能不夠好。
[html]
- 下面的LAYOUT定義文件舉了一些例子說明inputType和imeOptions的使用。
-
- android:layout_width=fill_parent android:layout_height=wrap_content
-
- android:hint=Normal text
-
- android:inputType=text
-
- android:imeOptions=actionNext
- />
-
- android:layout_width=fill_parent android:layout_height=wrap_content
-
- android:hint=Integer only
-
- android:inputType=number
-
- android:imeOptions=actionNext
- />
-
- android:layout_width=fill_parent android:layout_height=wrap_content
-
- android:hint=Decimal only
-
- android:inputType=numberDecimal
-
- android:imeOptions=actionNext
- />
-
- android:layout_width=fill_parent android:layout_height=wrap_content
-
- android:hint=Phone number
-
- android:inputType=phone
-
- android:imeOptions=actionNext
- />
-
- android:layout_width=fill_parent android:layout_height=wrap_content
-
- android:hint=Email
-
- android:inputType=textEmailAddress
-
- android:imeOptions=actionSend
- />
- android:layout_width=fill_parent android:layout_height=wrap_content
-
- android:hint=Web Site
-
- android:inputType=textUri
-
- android:imeOptions=actionDone/>
- 隨著inputType的不同,輸入法的鍵盤也自動跟著發生變化,並且在inputType=number時,是不允許輸入英文字符的。
- 注意:android:phoneNumber,android:numeric,這幾個屬性均已被廢棄,不少輸入法已經不再支持。直接使用inputType比較好。另外,在做這種調試時,最好使用Google拼音,或android鍵盤來進行,否則imeOptions可能不能正常顯示,比如百度輸入法在我刪除它之前就一直不支持imeOptions。