文本输入框是我们开发过程中经常需要用到的控件之一,因此,我们经常会碰到针对输入框的一些需求,下面简单列出几种操作。
xml文件中通过digits限制输入某些数字java android:digits="1234567890.-"
这样输入就只能输入某些数字了。
还有比较特殊的,比如输入时间java android:inputType="date"
inputType类型有很多种,常见的有text,numberPassword,phone,datetime等等,根据不同的需要选择不同的输入类型,可以减少输入框的校验过程。
android:inputType="none" |
一般系统会根据当前主题给我们的输入框加一个默认的背景,可能是一个灰色的框框,也可能是一条难看的灰色下划线(具体看当前主题样式),一般情况下如果不需要输入框背景,可以这样做java android:background="@null"
当然,你也可以自定义自己喜欢的样式,比如做一个椭圆的shape给到输入框的背景,又或者你可以定义另类的下划线:
首先是 et_underline_unselected
|
然后是 et_underline_selected
|
最后组合成selector
|
设置到输入框的背景就好了
android:background="@drawable/edittext_bg_selector" |
下面是效果
这个就不详细赘述了,一个属性xml android:textCursorDrawable="@null"
上面是去掉光标显示,如果需要自定义也可以自己定义一个drawable放上去就好了。
其他属性
android:hint="请输入数字!"//设置显示在空间上的提示信息
android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal
android:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行。
android:password="true"//设置只能输入密码
android:textColor = "#ff8c00"//字体颜色
android:textStyle="bold"//字体,bold, italic, bolditalic
android:textSize="20dip"//大小
android:capitalize="characters"//以大写字母写,设置英文字母大写类型。设置如下值:sentences仅第一个字母大写;words每一个单词首字母大小,用空格区分单词;characters每一个英文字母都大写。
android:textAlign="center"//EditText没有这个属性,但TextView有,居中
android:textColorHighlight="#cccccc"//被选中文字的底色,默认为蓝色
android:textColorHint="#ffff00"//设置提示信息文字的颜色,默认为灰色
android:textScaleX="1.5"//控制字与字之间的间距
android:typeface="monospace"//字型,normal, sans, serif, monospace
android:background="@null"//背景,这里没有,指透明
android:layout_weight="1"//权重,控制控件之间的地位,在控制控件显示的大小时蛮有用的。
android:textAppearance="?android:attr/textAppearanceLargeInverse"//文字外观,这里引用的是系统自带的一个外观