安卓开发教程25: EditText 输入框

224 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第25天,点击查看活动详情

今天介绍的这个控件 与 TextView 一样常用,与 TextView 的区别是,它可以接受用户的输入。这个控件就是 EditText 输入框。

EditText 基本使用

首先让我们来看一下输入框的基本使用方法

image.png

我们看到这个 EditText 用了两个属性 :

  1. hint 属性 给输入框设置 默认的提示文字;
  2. textColorHint 属性 给默认的提示文字设置颜色;

默认的 EditText 带有一个下边框,我们想要去掉它的时候可以使用 background 属性 结合shapeDrawable 资源文件的方式进行设置。

image.png

开发过程中最常见的需求,要我们写一个登录框:

image.png

结合我们之前学过的 布局方式以及 图片、文本控件来实现这个效果

  1. 用 RelativeLayout 布局 使登录框 水平 垂直居中排列;
  2. 令图片相对 登录框 排列在上方;
  3. 使用 LinearLayout 布局 使文本 和 输入框 水平排列;
  4. 给 登录框 LinearLayout 设置 shapeDrawable 设置其圆角边框

image.png

我们看到密码部分的输入默认也是明文,我们可以使用 inputType 属性 给其设置不同的类型。

例如:

  1. 密码类型,textPassword
  2. 数字类型,number
  3. 电话号码,phone
  4. 日期和时间,datatime
  5. 。。。等等这里不一一列举,等用到的时候我们再来学习
image.png image.png image.png image.png

我们看到每一种类型,相对于弹出的键盘类型也不同。

还有一种情况,在输入完 A 内容后,选择了其他的选项输入。当再次点击 A 的时候希望内容被全部选中,以便于一次性删除全部内容。这个时候就需要用到 selectAllOnFocus 属性 设置为 true 。

image.png

还有就是,根据不同需求,要求输入的长短不一,是否折行显示,这时候我们需要利用

  1. maxLines 属性,设置最多行数
  2. minLines 属性,设置最少行数
  3. singleLine 属性,单行显示,不折行

image.png

同时我们还可以设置文字的字间距,以及英文字母大小写类型

  1. textScaleX 属性,设置字间距水平距离
  2. textScaleY 属性,设置字间距垂直距离
  3. sentencess 属性,设置英文第一个字母大写
  4. words 属性,设置英文第一个单词大小写
  5. characters,设置英文大小写

那么 EditText 的基本使用方法就先介绍到这里,重要是这些属性方法需要我们多使用,才可以记得牢用的熟。