系统控件是Android系统提供给用户已经封装的界面控件,它提供应用程序开发过程中常见功能控件。同时,系统控件更有利于帮助用户进行快速开发,能够使Android系统中应用程序的界面保持一致性。本文要介绍的是Android系统控件TextView和EditText。
TextView是一种用于显示字符串的控件;EditText则是用来输入和编辑字符串的控件,它是一个具有编辑功能的TextView。
每个TextView期望的这样一个组件的属性:可以改变它的高度、宽度、字体、文字颜色、背景颜色等。TextView也有一些有用的独特属性,如表1所示。
表1 TextView也有一些有用的独特属性
属性名称 |
属性说明 |
autoLink |
如果设置(TRUE),发现文本中所显示的URL,并自动将它们转换为可点击链接 |
autoText |
如果设置(TRUE),发现并纠正在文本简单的拼写错误 |
editable |
如果设置(TRUE),表示程序已定义的输入方法来接收输入文字(对TextView来说默认是false,对EditText来说默认是true) |
inputMethod |
标识的输入法(EditText上定义一个通用文本) |
下面就通过一个例子来加深对这两个控件的理解。

图-1 TextView与EditView效果图
首先,建立一个“TextViewDemo”的程序,包含TextView和EditText两个控件,如图-1所示。上方“用户名”部分使用的是TextView,下方的文字输入框使用的是EditText。
TextViewDemo在XML文件中的代码如代码清单1所示。
代码清单1 main.xml
<TextView android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView01" >
</TextView>
<EditText android:id="@+id/EditText01"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="EditText01" >
</EditText>
在上述代码中,第1行android:id属性声明了TextView的ID,这个ID主要用于在代码中引用这个TextView对象;“@+id/TextView01”表示所设置的ID值;@表示后面的字符串是ID资源;加号(+)表示需要建立新资源名称,并添加到R.java文件中;斜杠后面的字符串(TextView01)表示新资源的名称;如果资源不是新添加的,或属于Android框架的ID资源,则不需要使用加号(+),对于Android框架中的ID资源,还必须添加Android包的命名空间,如android:id="@android:id/empty"。
第2行的android:layout_width属性用来设置TextView的宽度,wrap_content表示TextView的宽度只要能够包含所显示的字符串即可。
第3行的android:layout_height属性用来设置TextView的高度。
第4行表示TextView所显示的字符串,在后面将通过代码更改TextView的显示内容。
第7行中“fill_content”表示EditText的宽度将等于父控件的宽度。
在上述步骤之后,修改TextViewDemo.java文件中代码为代码清单2所示的代码:
代码清单5-10 TextViewDemo.java
TextView textView = (TextView)findViewById(R.id.TextView01);
EditText editText = (EditText)findViewById(R.id.EditText01);
textView.setText("用户名:");
editText.setText("");
第1行代码的findViewById()方法能够通过ID引用界面上的任何控件,只要该控件在XML文件中定义过ID即可。
第3行代码的setText()方法用来设置TextView所显示的内容。