一、简单实例:
EditText输入的文字样式部分的属性,基本都是和TextView中的属性一样。
除此之外,EditText还有自己独有的属性。
二、基本属性:
id等属性都在TextView中出现过,就不再赘述。
1、hint:该输入框显示的提示文本
android:hint是文本框中初始显示的用来提示用户输入的属性,在用户点击输入框开始输入时就会消失。
android:textColorHint这个属性则是用来设置提示文本的字体颜色。
<EditTextandroid: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:限制用户的输入类型
值如下:
例如,把inputType属性设置为textPassword:
这样输入的文字会视为密码,会自动变成*号,设定为不可见,结果如下:
可以看到,每输入一个字符,前面的字符就会自动不可见。
如果设置为datetime,则是日期键盘:
3、capitalize:英文大写设置
这个属性基本上不怎么使用了。
4、行数限制:
minLines:设置EditText控件的最小行数,使用这个属性的时候要去掉android:height,不能设置固定值,且不设置inputType属性,这样才能看出效果
最小行数是2,则输入框的初始大小就是两行的大小,超过两行时也会自动扩张。
maxLines:设置EditText控件的最大行数,使用这个属性的时候要去掉android:height,不能设置固定值,且不设置inputType属性,这样才能看出效果
一行时:
四行时:
七行时(超出最大行数4):
文字会自动上移,只保留四行。
singleLine:如果设置为true,则该输入框为单行输入不可换行。
其实使用了inputType属性之后,也是默认为单行输入不换行,这就是为什么inputType和minLines、maxLines不能同时存在的原因。