首页 > 代码库 > Button和ImageButton

Button和ImageButton

Button----按钮

ImageButton----图片按钮 

共有特征:

都可以作为一个按钮产生点击事件

不同点

1、 Buttontext的属性,ImageButton没有

2、 ImageButtonsrc属性,Button没有

onClick事件

ButtonImageButton都有一个onClick事件

通过他们自身的.setOnClickListener(OnclickListener)方法添加点击事件。

其实所有的控件都有一个onClick事件

监听事件实现的几种写法

1、 匿名内部类的实现

2、 独立类的实现

3、 实现接口的方式实现 

findViewById----返回的是一个View对象,需要对其进行类型转换,转换成相应的控件类型。

 下面看一下三种方法的具体实现

package com.example.button;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener {
	private TextView tv;
	private Button loginButton;
	private ImageButton imgBt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView) findViewById(R.id.textView1);
        /*
         * 1、初始化当前需要的控件
         * 2、设置Button的监听器,通过监听器实现我们点击Button要操作的事情
         */
        loginButton = (Button) findViewById(R.id.button1);
        /*
         * 1、监听事件通过匿名内部类实现
         */
        loginButton.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				//在当前onClick方法中监听点击Button的动作
				tv.setText("被点击了!");
				
			}
		});
        /*
         * 2、监听事件通过独立类实现
         */
        loginButton = (Button) findViewById(R.id.button2);
        loginButton.setOnClickListener(listener);
        
        /*
         * 3、通过接口方式实现
         */
        imgBt = (ImageButton) findViewById(R.id.imageButton1);
        
        imgBt.setOnClickListener(this);
    }   
    OnClickListener listener = new OnClickListener() {
		
		@Override
		public void onClick(View arg0) {
			tv = (TextView) findViewById(R.id.textView1);
			//tv.setText("独立类的监听事件被触发了!");
			Log.i("tag", "独立类");
		}
	};
	
	@Override
	public void onClick(View arg0) {
		Log.i("tag", "通过接口实现!");
	}
}

 

Button和ImageButton