简介
EditText是Android的输入控件,负责与用户交互数据。EditText与TextView基本类似,TextView的属性也大都适用于EditText,这里讲解一些EditText的常见属性。如果想了解TextView的使用,可以阅读我的上一篇文章,TextView详解 ,另外这里贴一下EditText的官方文档EditText官方文档
基础属性
- id :设置控件的id 用于java代码中找到该控件
- layout_width : 控件的宽度 常用值 match_parent(填充父容器) wrap_content(包裹内容)
- layout_height : 控件的高度 常用值 match_parent(填充父容器) wrap_content(包裹内容)
- hint :输入框的提示文本(大家最常见的 请输入关键字...)
- textColorHint :提示文本的颜色
Demo预览
下图是这篇文章要讲的一个小Demo
默认样式
EditText的默认样式只有一条灰色下划线,而且提示词颜色默认灰色,样式比较丑,一般我们都会做美化。
<EditText
android:id="@+id/ev_normal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingHorizontal="16dp"
android:layout_gravity="center_horizontal"
android:hint="请输入关键字..."/>
背景边框
我们在默认的基础上设置一下背景
<EditText
android:id="@+id/ev_background"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingHorizontal="16dp"
android:layout_gravity="center_horizontal"
android:hint="请输入关键字..."
android:background="@drawable/edittext_background"/
在drawable文件夹下新建drawable文件,edittext_background.xml 代码如下
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 实心 -->
<solid android:color="#FFFFFF"/>
<!-- 边框 -->
<stroke
android:width="0.5dp"
android:color="#FFA500"/>
<!-- 圆角 -->
<corners android:radius="3dp"/>
<!-- 边距 -->
<padding
android:top="2dp"
android:bottom="2dp"
android:left="6dp"
android:right="6dp"/>
</shape>
全选与行数
获得焦点全选与多行设置都只对应一个属性,所以特别简单
<EditText
android:id="@+id/ev_focus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingHorizontal="16dp"
android:layout_gravity="center_horizontal"
android:text="请输入关键字..."
android:textColor="#DC143C"
android:background="@drawable/edittext_background"
android:selectAllOnFocus="true"/>
<EditText
android:id="@+id/ev_lines"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingHorizontal="16dp"
android:layout_gravity="center_horizontal"
android:text="当那繁华落尽,剩下的是满地忧伤。"
android:textColor="@color/aqua"
android:background="@drawable/edittext_background"
android:selectAllOnFocus="true"
android:minLines="2"/>
- 获得焦点时是否选择文本
selectAllOnFocus="true"
,这里并不指hint的提示文本,而是text属性的文本 - 最小行数
minLines="2"
如果内容小于行数会单行居中,所以该属性相当于固定了宽的最小值 - 最大行数
maxLines="3"
如果内容超出会生成滚动条
输入类型
EditText的inputType属性可以控制输入框的输入类型,从而让手机输入法弹出不同的输入模式
<EditText
android:id="@+id/ev_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingHorizontal="16dp"
android:layout_gravity="center_horizontal"
android:hint="请输入密码..."
android:background="@drawable/edittext_background"
android:selectAllOnFocus="true"
android:inputType="textPassword"/>
- 输入类型:
inputType="textPassword"
输入密码 - 其他常用类型:text, number,data,time,phone,textCapWords,
textEmailAddress,textFilter,textAutoComplete等等...
结束语
本篇文章简单的讲解了一下EditText的几个常用属性,至于更复杂的应用,就不在基础教程里讲了