安卓学习之路4之插件Button和ImageButton的属性以及监听

来源:互联网 发布:犀牛mac 中文破解版 编辑:程序博客网 时间:2024/05/19 15:44

(此文为本人android学习之路的笔记,属于基础;如果有错误,欢迎指正)

1.Button和ImageButton

(1)共有的特性:都可以作为一个按钮产生点击事件
(2)不同点:Button有text的属性;ImageButton有src属性
(3)产生明显的点击效果

2.onClick事件(监听需要用到)
(1)Button和ImageButton都拥有一个onclick事件
   通过自身的.setOnclickListener(OnClickListener)方法添加点击事件
(2)所有的控件都有一个onclick的事件,不仅仅Button和ImageButton拥有
(3)通过点击事件的监听可以实现点击按钮之后要发生什么动作


3.监听事件实现的三种写法(要记得导入包)
(1)匿名内部类的实现
1.初始化当前所需要的控件。如何初始化一个控件
 findViewById---返回的是一个View的对象

  private Button loginButton;//在MainActivity.java中作为成员变量定义
  
  loginButton = (Button)findViewById(R.id.button1);// button1是要监听按钮的id
2.设置Button的监听器,通过监听器实现我们点击Button要操作的事情

loginButton.setOnClickListener(new OnClickListener(){

public void onClick(view v){
//在当前onClick方法中监听点击Button的动作
System.out.println("我的Button被点击了");
}
));
(2)外部类的实现(当所有的按钮被点击都会运行同样的代码时,就可以考虑用外部类来实现监听;不过该块知识点比较模糊)
1.初始化控件
private Button bt1;
private Button bt2;
bt1=(Button)findViewById(R.id.button1);
        bt2=(Button)findViewById(R.id.button2);
2.定义外部类
   class MyOnClickListener implements OnClickListener{


@Override
public void onClick(View v) {
//Log.i("tag"," 父类的onclick事件");
//当所有使用当前外部类的点击事件的按钮都要做出一个动作,改变button本身的透明
v.setAlpha(0.5f);
}
   
    }
3.外部类的运用
        bt1.setOnClickListener(new MyOnClickListener(){
        @Override
        public void onClick(View v) {
        //调用父类的onClick方法,这里的父类指的是外部类MyOnClickListener
//父类这个点有点难理解;这里表示不仅子类对象的OnClick会运行,父类的Onclick也会运行
        super.onClick(v);
        Toast.makeText(MainActivity.this, "bt1要执行的逻辑", 1).show();
        }
        });
        bt2.setOnClickListener(new MyOnClickListener(){
        @Override
        public void onClick(View v) {
        super.onClick(v);
        Toast.makeText(MainActivity.this, "bt2要执行的逻辑", 1).show();
        }
        });
(3)实现接口的方式来实现
1.要先继承OnClickListener
public class MainActivity extends Activity implements OnClickListener {
2.再定义一个方法
public void onClick(View v) {
Log.i("tag", "第三种方式实现");
}
3.初始化控件
private ImageButton imgBt;
imgBt = (ImageButton) findViewById(R.id.imageButton1);
4.控件与监听器结合
imgBt.setOnClickListener(this);
0 0
原创粉丝点击