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

你可以在此处查看所有可用输入类型的列表。