android:inputType
我们可以根据文本框要输入数据的类型(邮箱、手机号、密码、时间…)告诉系统我们更想显示哪种类型的输入法键盘(type可以多个配合使用,使用”|”连接起来)。如
android:inputType="phone"
系统就优先显示数字键盘以便输入手机号。
none.
text.
textCapCharacters. 和text配合使用以大写所有字符
textCapWords. 和text配合使用以大写每个单词的第一个字母
textCapSentences. 和text配合使用以大写每个句子的第一个字母
textAutoCorrect. 和text配合使用以自动更正
textAutoComplete. 和text配合使用以自动提示补全输入(需要AutoCompleteTextView)
textMultiLine. 和text配合使用以使输入框允许显示多行(默认输入框只能单行显示)
textImeMultiLine. 和text配合使用以表明输入框不能是多行的,希望IME输入法能提供多行输入支持。
textNoSuggestions. 和text配合使用以告知IME输入法不允许显示任何基于字典的单词建议提示。
textUri. 输入将被用作URI
textEmailAddress. 输入将被用作e-mail地址
textEmailSubject. 输入将被用作e-mail主题
textShortMessage. 输入将被用作短消息内容
textLongMessage. 输入将被用作长消息内容
textPersonName. 输入将被用作人名
textPostalAddress. 输入将被用作邮寄地址
textPassword. 输入将被用作密码
textVisiblePassword. 输入将被用作可见密码
textWebEditText. 输入将被用作Web表单文本
textFilter. 输入将被用作其它数据的过滤器
textPhonetic. 输入将被用作语音符号,例如联系人列表中的拼音/语音符号字段
textWebEmailAddress. 输入将被用作Web表单e-mail地址
number. 输入将仅允许数字输入
numberSigned. 和number配合使用以输入有符号数
numberDecimal. 和number配合使用以输入小数
numberPassword. 输入将被用作数字密码
phone. 输入将被用作手机号
datetime. 输入将被用作日期和时间
date. 输入将被用作日期
time. 输入将被用作时间
注:有时我们还需要在EditText输入IP地址。这时候在布局文件中就要用到android:digits="0123456789."属性来限定数字类型,这样便可以输入点了;在Java中同样也可以设置例如:
EditText mEditText = (EditText)findViewById(R.id.MyEditText);
String digits = "0123456789.";
mEditText.setKeyListener(DigitsKeyListener.getInstance(digits));
mEditText.setInputType(InputType.TYPE_CLASS_NUMBER);