自定義 InputType
文字欄位可以具有不同的輸入型別,例如數字,日期,密碼或電子郵件地址。該型別確定欄位內允許的字元型別,並可以提示虛擬鍵盤優化其常用字元的佈局。
預設情況下,EditText
控制元件中的任何文字內容都顯示為純文字。通過設定 inputType
屬性,我們可以方便輸入不同型別的資訊,如電話號碼和密碼:
<EditText
...
android:inputType="phone">
</EditText>
最常見的輸入型別包括:
型別 | 描述 |
---|---|
textUri |
將用作 URI 的文字 |
textEmailAddress |
將用作電子郵件地址的文字 |
textPersonName |
作為人名的文字 |
textPassword |
作為密碼的文字應該被隱藏 |
number |
僅限數字欄位 |
phone |
用於輸入電話號碼 |
date |
輸入日期 |
time |
輸入時間 |
textMultiLine |
在欄位中允許多行文字 |
android:inputType
還允許你指定某些鍵盤行為,例如是否將所有新單詞大寫或使用自動完成和拼寫建議等功能。
以下是一些定義鍵盤行為的常見輸入型別值:
型別 | 描述 |
---|---|
textCapSentences |
普通文字鍵盤,用於為每個新句子的首字母大寫 |
textCapWords |
普通文字鍵盤,用於大寫每個單詞。標題或人名很好 |
textAutoCorrect |
普通文字鍵盤,可以糾正拼寫錯誤的單詞 |
如果需要,你可以設定多個 inputType
屬性(以“|”分隔)。
例:
<EditText
android:id="@+id/postal_address"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/postal_address_hint"
android:inputType="textPostalAddress|
textCapWords|
textNoSuggestions" />
你可以在此處檢視所有可用輸入型別的列表。