android 界面 edittext详解,Android EditText详解

前言

很常用的控件EditText(输入框); 和TextView非常类似,最大的区别是:EditText可以接受用户输入。和前面一样,我们不一个个讲属性, 只讲实际应用。那么开始本节内容!

1.设置默认提示文本

如下图,相信你对于这种用户登录的界面并不陌生,是吧,我们很多时候都用的这种界面

6f1ba5fa3b671323a333caca8fe05cd7.png

相比另外这种,下面这种又如何?

35995c6b3bc3a14e3add17bc3743df17.png

还不赖是吧,当然,不会在这里贴布局,这里只介绍默认提示文本的两个控制属性:

默认提示文本的两个属性如下:

android:hint="默认提示文本"

android:textColorHint="#95A1AA"

前者设置提示的文本内容,后者设置提示文本的颜色!

2.获得“焦点”后全选组件内所有文本内容

当我们想在点击输入框获得焦点后,不是将光标移动到文本的开始或者结尾;而是 获取到输入框中所有的文本内容的话!这个时候我们可以使用selectAllOnFocus属性

android:selectAllOnFocus="true"

比如下面的效果图: 第一个是设置了该属性的,第二个是没设置该属性的,设置为true的EditText获得焦点后 选中的是所有文本!

效果图:

4374fc8eb97b090c43957b7ba5223734.gif

3.限制EditText输入类型

有时我们可能需要对输入的数据进行限制,比如输入电话号码的时候,你输入了一串字母,这 显然是不符合我们预期的,而限制输入类型可以通过inputType属性来实现!

比如限制只能为电话号码,密码(textPassword):

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:inputType="phone" />

可选参数如下:

文本类型,多为大写、小写和数字符号

android:inputType="none"

android:inputType="text"

android:inputType="textCapCharacters"

android:inputType="textCapWords"

android:inputType="textCapSentences"

android:inputType="textAutoCorrect"

android:inputType="textAutoComplete"

android:inputType="textMultiLine"

android:inputType="textImeMultiLine"

android:inputType="textNoSuggestions"

android:inputType="textUri"

android:inputType="textEmailAddress"

android:inputType="textEmailSubject"

android:inputType="textShortMessage"

android:inputType="textLongMessage"

android:inputType="textPersonName"

android:inputType="textPostalAddress"

android:inputType="textPassword"

android:inputType="textVisiblePassword"

android:inputType="textWebEditText"

android:inputType="textFilter"

android:inputType="textPhonetic"

数值类型

android:inputType="number"

android:inputType="numberSigned"

android:inputType="numberDecimal"

android:inputType="phone"//拨号键盘

android:inputType="datetime"

android:inputType="date"//日期键盘

android:inputType="time"//时间键盘

4.设置最小行、最多行、单行、多行、自动换行

EditText默认是多行显示的,并且能够自动换行,即当一行显示不完的时候,他会自动换到第二行

如图所示:

156404941b0848a7b921135503e09853.png

我们可以对其进行限制,比如 设置最小行的行数:android:minLines="3" 或者设置EditText最大的行数:android:maxLines="3" PS:当输入内容超过maxline,文字会自动向上滚动!!

另外很多时候我们可能要限制EditText只允许单行输入,而且不会滚动,比如上面的登陆界面的 例子,我们只需要设置

android:singleLine="true"

即可实现单行输入不换行

5.设置文字间隔,设置英文字母大写类型

我们可以通过下述两个属性来设置字的间距:

android:textScaleX="1.5" //设置字与字的水平间隔

android:textScaleY="1.5" //设置字与字的垂直间隔

另外EditText还为我们提供了设置英文字母大写类型的属性:android:capitalize 默认none,提供了三个可选值:

**sentences:**仅第一个字母大写

**words:**每一个单词首字母大小,用空格区分单词

**characters:**每一个英文字母都大写

6.控制EditText四周的间距与内部文字与边框间的距离

我们使用margin相关属性增加组件相对其他控件的距离,比如android:marginTop = "5dp"使用padding增加组件内文字和组件边框的距离,比如android:paddingTop = "5dp"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值