自定義 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" />

你可以在此處檢視所有可用輸入型別的列表。