Android应用程序----UI界面控件

Android系统的界面控件分为定制控件和系统控件

定制控件是用户独立开发的控件,或通过继承并修改系统控件后所产生的新控件。能够为用户提供特殊的功能或与众不同的显示需求方式

系统控件是Android系统提供给用户已经封装的界面控件。提供在应用程序开发过程中常见功能控件。系统控件更有利于帮助用户进行快速开发,同时能够使Android系统中应用程序的界面保持一致性

常见的系统控件包括TextView、EditText、Button、ImageButton、Checkbox、RadioButton、Spinner、ListView和TabHost

TextView和EditText

TextView是一种用于显示字符串的控件

EditText则是用来输入和编辑字符串的控件

EditText是一个具有编辑功能的TextView

建立一个“TextViewDemo”的程序,包含TextView和EditText两个控件

上方“用户名”部分使用的是TextView,下方的文字输入框使用的是EditText

TextViewDemo在XML文件中的代码

TextView和EditText

第1行android:id属性声明了TextView的ID,这个ID主要用于在代码中引用这个TextView对象

“@+id/TextView01”表示所设置的ID值

@表示后面的字符串是ID资源

加号(+)表示需要建立新资源名称,并添加到R.java文件中

斜杠后面的字符串(TextView01)表示新资源的名称

如果资源不是新添加的,或属于Android框架的ID资源,则不需要使用加号(+),但必须添加Android包的命名空间,例如android:id="@android:id/empty"

第2行的android:layout_width属性用来设置TextView的宽度,wrap_content表示TextView的宽度只要能够包含所显示的字符串即可

第3行的android:layout_height属性用来设置TextView的高度

第4行表示TextView所显示的字符串,在后面将通过代码更改TextView的显示内容 q第7行中“fill_content”表示EditText的宽度将等于父控件的宽度

TextViewDemo.java文件中代码的修改

第1行代码的findViewById()函数能够通过ID引用界面上的任何控件,只要该控件在XML文件中定义过ID即可

第3行代码的setText()函数用来设置TextView所显示的内容

Button和ImageButton

Button是一种按钮控件,用户能够在该控件上点击,并后引发相应的事件处理函数

ImageButton用以实现能够显示图像功能的控件按钮

建立一个“ButtonDemo”的程序,包含Button和ImageButton两个按钮,上方是“Button按钮”,下方是一个ImageButton控件

ButtonDemo在XML文件中的代码

定义Button控件的高度、宽度和内容

定义ImageButton控件的高度和宽度,但是没定义显示的图像,在后面的代码中进行定义

引入资源

将download.png文件拷贝到/res/drawable文件夹下

在/res目录上选择Refresh

新添加的文件将显示在/res/drawable文件夹下

R.java文件内容也得到了更新

否则提示无法找到资源的错误

更改Button和ImageButton内容

引入android.widget.Button和android.widget.ImageButton

第1行代码用于引用在XML文件中定义的Button控件

第2行代码用于引用在XML文件中定义的ImageButton控件

第3行代码将Button的显示内容更改为“Button按钮”

第4行代码利用setImageResource()函数,将新加入的png文件R.drawable.download传递给ImageButton

按钮响应点击事件:添加点击事件的监听器

第2行代码中button对象通过调用setOnClickListener()函数,注册一个点击(Click)事件的监听器View.OnClickListener()

第3行代码是点击事件的回调函数

第4行代码将TextView的显示内容更改为“Button按钮”

View.OnClickListener()

View.OnClickListener()是View定义的点击事件的监听器接口,并在接口中仅定义了onClick()函数

当Button从Android界面框架中接收到事件后,首先检查这个事件是否是点击事件,如果是点击事件,同时Button又注册了监听器,则会调用该监听器中的onClick()函数

每个View仅可以注册一个点击事件的监听器,如果使用setOnClickListener()函数注册第二个点击事件的监听器,之前注册的监听器将被自动注销

多个按钮注册到同一个点击事件的监听器上,代码如下

第1行至第12行代码定义了一个名为buttonListener的点击事件监听器

第13行代码将该监听器注册到Button上

第14行代码将该监听器注册到ImageButton上

(0)

相关推荐