Android开发:文本控件详解——EditText(一)基本属性
一、简单实例:

EditText输入的文字样式部分的属性,基本都是和TextView中的属性一样。
除此之外,EditText还有自己独有的属性。
二、基本属性:
| hint | 输入框显示的提示文本 |
| textColorHint | 输入框显示的提示文本的颜色 |
| inputType | 限制用户的输入类型 |
| capitalize | 英文大写设置 |
| minLines | 最小行数 |
| maxLines | 最大行数 |
| SingleLine | 单行不换行 |
id等属性都在TextView中出现过,就不再赘述。
1、hint:该输入框显示的提示文本
android:hint是文本框中初始显示的用来提示用户输入的属性,在用户点击输入框开始输入时就会消失。
android:textColorHint这个属性则是用来设置提示文本的字体颜色。
<EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:height="40sp" android:layout_centerVertical="true" android:background="@color/colorSlateGray" android:hint="@string/username" android:textColor="@color/colorWhite" android:textColorHint="@color/colorWhite" />
这段代码的效果如下:

点击输入框开始输入时,提示文字就会消失:

2、inputType:限制用户的输入类型
值如下:
| text | 普通字符 |
| textCapCharacters | 普通字符 |
| none | 普通字符 |
| textCapSentences | 字符串中的第一个字母大写 |
| textCapWords | 字符串中的每个单词的首字母大写 |
| textMultiLine | 多行输入 |
| textImeMultiLine | 输入法多行 |
| textUri | 格式为:URI |
| textShortMessage | 格式为:短消息 |
| textShortMessage | 格式为:长消息 |
| textEmailAddress | 格式为:电子邮件地址 |
| textEmailSubject | 格式为:邮件主题 |
| textPostalAddress | 格式为:邮政 |
| textPersonName | 格式为:姓名 |
| textPassword | 格式为:不可见密码 |
| textVisiblePassword | 格式为:可见密码 |
| textFilter | 格式为:文本筛选 |
| textWebEditText | 格式为:作为网页表单的文本 |
| number | 格式为:数字 |
| numberSigned | 格式为:有符号数字 |
| numberDecimal | 格式为:浮点数 |
| textPhonetic | 格式为:拼音输入 |
| phone | 键盘为:拨号 |
| date或者datetime | 键盘为:日期 |
| time | 键盘为:时间 |
| textAutoCorrect | 前两个自动完成 |
| textAutoComplete | 前两个自动完成 |
| textNoSuggestions | 不进行提示 |
这样输入的文字会视为密码,会自动变成*号,设定为不可见,结果如下:

可以看到,每输入一个字符,前面的字符就会自动不可见。
如果设置为datetime,则是日期键盘:


3、capitalize:英文大写设置
| sentences | 字符串的第一个字母大写 |
| words | 字符串中用空格区分单词,每个单词的首字母大写 |
| characters | 字符串中每一个英文字母都大写 |
这个属性基本上不怎么使用了。

4、行数限制:
minLines:设置EditText控件的最小行数,使用这个属性的时候要去掉android:height,不能设置固定值,且不设置inputType属性,这样才能看出效果


最小行数是2,则输入框的初始大小就是两行的大小,超过两行时也会自动扩张。
maxLines:设置EditText控件的最大行数,使用这个属性的时候要去掉android:height,不能设置固定值,且不设置inputType属性,这样才能看出效果

一行时:

四行时:

七行时(超出最大行数4):

文字会自动上移,只保留四行。
singleLine:如果设置为true,则该输入框为单行输入不可换行。

其实使用了inputType属性之后,也是默认为单行输入不换行,这就是为什么inputType和minLines、maxLines不能同时存在的原因。

浙公网安备 33010602011771号