ImageButton可以个普通按钮一样设置效果,它还可以进行图片设置,这里需要注意的是这里使用src时引入的图片可以和background一起连用
需要注意的是Button可以设置文本内容,而ImageButton不能设置文本内容,当需要文本时需要通过background和src引入图片的方式添加效果
Button事件监听:使用onClick事件
1.Button和ImageButton都拥有一个onClick事件,通过自身的.setOnclickListenter(OnClickListenter)方法添加点击事件
2.所有的控件都有一个onclick的事件,不仅仅Button和ImageButton拥有
实现事件的写法:内部类、独立类、实现接口的方式
一、匿名内部类的实现
1. 首先在Activity里面初始化当前需要的控件
在类中声明一个控件的实体对象
private Button loginButton;
然后在onCreate函数内进行控件的获取
loginButtton = (Button) findViewById(R.id.button) ; //通过fingViewById函数找到button对应的Id然后获取到这个控件
下面说一下findViewById是如何查找到对应View的Id findViewById返回的是View对象,则需要强制类型转换成相应的控件类型
因为在res下面的资源都会在R文件中声明一个唯一的Id号,这样就有了唯一的表示了
这样就可以获取到唯一的控件了
2. 找控件之后需要设置控件的监听器,通过监听器实现我们点击控件要操作的事情
//这里使用内部类
loginButton.setOnClickListener(new OnClickListener() {
//当前的onClick方法中监听点击Button的动作
public void onClick(View arg0) {
//可以在这个函数里面去实现需要做的操作
}
})
二、外部类的实现方式
在Activity中初始化与内部类一直 通过findViewById
1. 同样需要在loginButton.setOnClickListener()添加点击事件监听器
2. 在原类的主体外部编写外部类实现(implements)OnClickListener接口,实现onClick方法
在控件设置监听事件时同样需要进行实例化对应的OnClickListener对象
这里的View形参表示的是点击控件的对象本身,可以怎么改变控件效果:v.setAlpha(0.5f) /设置透明度
3.接口的方式实现点击事件
建立的Activity实现(implements)OnClick:Listener接口,然后实现接口的OnClick方法
在这个方法中可以进行事件的编写,
此时对应控件监听器只需要传入本身this就可以。
以上的这三种方式就可以实现控件的点击事件了。