您现在的位置是:首页 > 文章详情

[安卓] 2、使用2中方法做按钮监听和图片按钮使用

日期:2017-07-02点击:309


 

 

 


 

第一种方法是使用点击监听器来实现(代码中注释掉的部分):这种方法要在初始化的函数中将按钮绑定在点击监听器上(23,24)btn_ok.setOnClickListener(this);。然后处理统一写在抽象函数onClick(View v) 中,并用v == btn_ok来判别是哪一个按钮的点击。(28~34)

第二种方法是使用内部类实现按键监听,具体如下(这个看起来要代码多一点,各个处理是单独的)

复制代码
 1 package com.himi.button;//包路径  2 //import导入类库  3  4 import android.app.Activity;  5 import android.os.Bundle;  6 import android.view.View;  7 import android.view.View.OnClickListener;  8 import android.widget.Button;  9 import android.widget.TextView; 10 11 /* 使用点击监听器接口进行监听 12  public class MainActivity extends Activity implements OnClickListener {//使用点击监听器 13  private Button btn_ok, btn_cancel; 14  private TextView tv; 15 16  @Override 17  public void onCreate(Bundle savedInstanceState) { 18  super.onCreate(savedInstanceState); 19  setContentView(R.layout.main); 20  btn_ok = (Button) findViewById(R.id.btn_ok); 21  btn_cancel = (Button) findViewById(R.id.btn_cancel); 22  tv = (TextView) findViewById(R.id.tv); 23  btn_ok.setOnClickListener(this);//将btn_ok按钮绑定在点击监听器上 24  btn_cancel.setOnClickListener(this);//将btn_cancel按钮绑定在点击监听器上 25  } 26 27  @Override 28  public void onClick(View v) {//使用监听器就要重写其抽象函数 29  if (v == btn_ok) { 30  tv.setText("确定按钮触发事件!"); 31  } else if (v == btn_cancel) { 32  tv.setText("取消按钮触发事件!"); 33  } 34  } 35  } 36 */ 37 //内部类实现按键监听 38 public class MainActivity extends Activity {// 使用点击监听器 39 private Button btn_ok, btn_cancel; 40 private TextView tv; 41 42  @Override 43 public void onCreate(Bundle savedInstanceState) { 44 super.onCreate(savedInstanceState); 45  setContentView(R.layout.main); 46 btn_ok = (Button) findViewById(R.id.btn_ok); 47 btn_cancel = (Button) findViewById(R.id.btn_cancel); 48 tv = (TextView) findViewById(R.id.tv); 49 btn_ok.setOnClickListener(new OnClickListener() {// 将btn_ok按钮绑定在点击监听器上 50  @Override 51 public void onClick(View v) { 52 tv.setText("确定按钮触发事件!"); 53  } 54  }); 55 btn_cancel.setOnClickListener(new OnClickListener() {// 将btn_cancel按钮绑定在点击监听器上 56  @Override 57 public void onClick(View v) { 58 tv.setText("取消按钮触发事件!"); 59  } 60  }); 61  } 62 63 }
复制代码

 


理解了上面的下面的图片按钮也就很简单啦:如下第9行可见我这里用的不是鼠标的点击监听了,而是触屏监听。其中根据触屏事件来更换ImageButton的背景来实现上述效果。这里的图片资源是存起来的,通过调用getResources().getDrawable(R.drawable.xxx)来获取资源。

复制代码
 1 public class MainActivity extends Activity {  2 private ImageButton Ibtn;  3  @Override  4 public void onCreate(Bundle savedInstanceState) {  5 super.onCreate(savedInstanceState);  6  setContentView(R.layout.main);  7 Ibtn = (ImageButton)findViewById(R.id.imageBtn);  8 //为图片按钮添加触屏监听  9 Ibtn.setOnTouchListener(new OnTouchListener() { 10  @Override 11 public boolean onTouch(View v, MotionEvent event) { 12 //用户当前为按下 13 if(event.getAction()==MotionEvent.ACTION_DOWN){ 14 //设置图片按钮背景图 15  Ibtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.press)); 16 //用户当前为抬起 17 }else if(event.getAction()==MotionEvent.ACTION_UP){ 18  Ibtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.nopress)); 19  } 20 return false; 21  } 22  }); 23  } 24 }
复制代码

注意:这里的按钮是ImageButton!

 

 

 

  

本文链接:http://www.cnblogs.com/zjutlitao/p/4229564.html

更多精彩:http://www.cnblogs.com/zjutlitao



本文转自beautifulzzzz博客园博客,原文链接:http://www.cnblogs.com/zjutlitao/p/4229564.html,如需转载请自行联系原作者

原文链接:https://yq.aliyun.com/articles/353982
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章