2.功能控件

除了布局控件,Android界面上还需要一些功能控件,用以实现事件,下面介绍几种简单的基本功能控件。

(1)TextView

TextView可以说是Android中最简单的一个控件,它主要用于在界面上显示一段文本信息,如图2-8所示。

TextView中可以使用android:id给当前控件定义唯一标识符,使用android:layout_height指定控件的高度。Android中所有的控件都具有这两个属性,可选值有3种:match_parent、fill_parent和wrap_content,其中match_parent和fill_parent的意义相同。

还可以对TextView中文字的大小和颜色进行修改,通过android:textSize属性可以指定文字的大小,通过android:textColor属性可以指定文字的颜色。

(2)Button

Button(按钮)继承自TextView,它是程序用于和用户进行交互的一个重要控件,如图2-9所示。它可配置的属性和TextView差不多,可以参考TextView的属性进行配置。

图2-8 TextView控件

图2-9 Button控件

可以在Activity中为Button的点击事件注册监听器,这样每当点击按钮时,就会执行监听器中的onClick()方法,执行相应的点击事件。表2-1列举了一些Button的常用方法。

表2-1 Button的常用方法

(3)EditText

EditText是程序用于和用户进行交互的另一个重要控件,可以说它是用户和Android应用进行数据传输的窗户,如图2-10所示。有了它就等于有了一扇和Android应用传输的门,通过它用户可以把数据传给Android应用,然后得到想要的数据。

图2-10 EditText控件

EditText是TextView的子类,所以TextView的方法和特性同样存在于EditText中,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。

有时候需要说明定义的EditText是做什么用的,比如输入的是用户名,或者输入电话号码等,但是又不想在EditText前面加一个TextView来说明这是输入“用户名”的,因为这会使用一个TextView,那么怎么办呢?EditText为我们提供了android:hint来设置当EditText内容为空时显示的文本,这个文本只在EditText为空时显示,输入字符的时候就消失了,不影响EditText的文本。