EditText与TextView 非常相似, 它甚至与TextView 共用了绝大部分XML属性与方法。EditText 与 TextView的最大区别在于:EditText 可以接受用户输入。
EditText组件最重要的属性是inputType,该属性相当于HTML的<input../> 元素的type属性,用于将EditText 设置为指定类型的输入组件。inputType能接受的属性值非常丰富,而且随着Android版本的升级,该属性能接受的类型还会增加。
EditText 还派生了如下两个子类。
-> AutoCompleteTextView:带有自动完成功能的EditText。
->ExtractEditText:它并不是UI组件,而是EditText组件的底层服务类,负责提供全屏输入法的支持。
实例:用户友好的输入界面
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:stretchColumns="1">
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="用户名"
android:textSize="16sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请填写登录帐号"
android:selectAllOnFocus="true"
/>
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="密码:"
android:textSize="16sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberPassword"
/>
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="年龄:"
android:textSize="16sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
/>
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="生日:"
android:textSize="16sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="date"
/>
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="电话号码:"
android:textSize="16sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入您的电话号码"
android:inputType="phone"
android:selectAllOnFocus="true"
/>
</TableRow>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="注册"/>
</TableLayout>