第24页
import android.view.View.OnClickListener;
import android.widget.Button;
Button login=(Button)findViewById(R.id.login); //通过ID获取布局文件中添加的按钮
login.setOnClickListener(new OnClickListener() { //为按钮添加单击事件监听器
@Override
public void onClick(View v) {
//编写要执行的动作代码
}
});
另一种是在Activity中编写一个包含View类型参数的方法,并且将要触发的动作代码放在该方法中,然后在布局文件中,通过android:onClick属性指定对应的方法名实现。例如,在Activity中编写一个名为myClick()的方法,关键代码如下:
public void myClick(View view){
//编写要执行的动作代码
}
那么就可以在布局文件中通过android:onClick="myClick"语句为按钮添加单击事件监听器。
2. 图片按钮
图片按钮与普通按钮的使用方法基本相同,只不过图片按钮使用标记定义,并且可以为其指定android:src属性,用于设置要显示的图片。在布局文件中添加图像按钮的基本语法格式如下:
android:id="@+id/imageButton1"
android:src="@drawable/图片文件名"
android:background="#000"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
同普通按钮一样,也需要为图片按钮添加单击事件监听器,具体添加方法同普通按钮,这里不再赘述。
下面给出一个关于按钮的实例。
例3.13 在Eclipse中创建Android项目,名称为3.13,实现添加普通按钮和图片按钮并为其设置单击事件监听器。(实例位置:光盘\TM\sl\3\3.13)
(1)修改新建项目的res\layout目录下的布局文件main.xml,将默认添加的垂直线性布局管理器设置为水平线性布局管理器,在该布局管理器中添加一个普通按钮(id属性为login)和一个图片按钮,并为图片按钮设置android:src属性、android:background属性和android:onClick属性,具体代码如下:
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
android:id="@+id/login1"
android:layout_width="wrap_content"
android:src="@drawable/login"
android:onClick="myClick"
android:background="#000"
android:layout_height="wrap_content">
(2)在主活动MainActivity的onCreate()方法中,应用下面的代码为普通按钮添加单击事件监听器。
Button login=(Button)findViewById(R.id.login); //通过ID获取布局文件中添加的按钮
login.setOnClickListener(new OnClickListener() { //为按钮添加单击事件监听器
@Override
public void onClick(View v) {
Toast toast=Toast.makeText(MainActivity.this, "您单击了普通按钮", Toast.LENGTH_SHORT);
toast.show(); //显示提示信息
}
});
(3)在MainActivity类中编写一个方法myClick(),用于指定将要触发的动作代码,具体代码如下:
public void myClick(View view){
Toast toast=Toast.makeText(MainActivity.this, "您单击了图片按钮", Toast.LENGTH_SHORT);
toast.show(); //显示提示信息
}
运行本实例,将显示如图3.18所示的运行结果,单击普通按钮,将显示“您单击了普通按钮”的提示信息;单击图片按钮,将显示“您单击了图片按钮”的提示信息。
图3.18 添加普通按钮和图片按钮
3.3.3 单选按钮和复选框
在Android中,单选按钮和复选框都继承了普通按钮,因此,它们都可以直接使用普通按钮支持的各种属性和方法。与普通按钮不同的是,它们提供了可选中的功能。下面分别对单选按钮和复选框进行详细介绍。
1. 单选按钮
在默认情况下,单选按钮显示为一个圆形图标,并且在该图标旁边放置一些说明性文字。在程序中,一般将多个单选按钮放置在按钮组中,使这些单选按钮表现出某种功能,当用户选中某个单选按钮后,按钮组中的其他按钮将被自动取消选中状态。在Android中,单选按钮使用RadioButton表示,而RadioButton类又是Button的子类,所以单选按钮可以直接使用Button支持的各种属性。
在Android中,可以使用两种方法向屏幕中添加单选按钮:一种是通过在XML布局文件中使用标记添加;另一种是在Java文件中,通过new关键字创建。推荐采用第一种方法,也就是通过在XML布局文件中添加单选按钮,其基本语法格式如下:
android:text="显示文本"
android:id="@+id/ID号"
android:checked="true|false"