这里例子实现的是当ImageButton获得焦点和失去焦点的反应。

1.当ImageButton获得焦点时,图片发生变化

2.当ImageButton失去焦点时,图片发生变化

为了作对比,实例中加入一个普通的Button按钮。

截图如下:

1.当获得焦点时

2.当失去焦点时

实现的代码如下:

public class EX04_02 extends Activity
{ /*宣告三个对象变量(图片按钮,按钮,与TextView)*/ private ImageButton mImageButton1;private Button mButton1;private TextView mTextView1;/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main); /*透过findViewById建构三个对象*/ mImageButton1 =(ImageButton) findViewById(R.id.myImageButton1); mButton1=(Button)findViewById(R.id.myButton1); mTextView1 = (TextView) findViewById(R.id.myTextView1);/*透过OnFocusChangeListener来响应ImageButton的onFous事件*/ mImageButton1.setOnFocusChangeListener(new OnFocusChangeListener(){ public void onFocusChange(View arg0, boolean isFocused) { // TODO Auto-generated method stub/*若ImageButton状态为onFocus改变ImageButton的图片 * 并改变textView的文字*/ if (isFocused==true) { mTextView1.setText("图片按钮状态为:Got Focus"); mImageButton1.setImageResource(R.drawable.iconfull);} /*若ImageButton状态为offFocus改变ImageButton的图片 *并改变textView的文字*/ else{ mTextView1.setText("图片按钮状态为:Lost Focus"); mImageButton1.setImageResource(R.drawable.iconempty); } } }); /*透过onClickListener来响应ImageButton的onClick事件*/ mImageButton1.setOnClickListener(new OnClickListener(){ public void onClick(View v) {// TODO Auto-generated method stub /*若ImageButton状态为onClick改变ImageButton的图片 * 并改变textView的文字*/ mTextView1.setText("图片按钮状态为:Got Click");mImageButton1.setImageResource(R.drawable.iconfull);}} );/*透过onClickListener来响应Button的onClick事件*/ mButton1.setOnClickListener(new OnClickListener() {public void onClick(View v){ // TODO Auto-generated method stub /*若Button状态为onClick改变ImageButton的图片 * 并改变textView的文字*/mTextView1.setText("图片按钮状态为:Lost Focus");mImageButton1.setImageResource(R.drawable.iconempty); }} ); } }

实例的布局文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:background="@drawable/white"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:id="@+id/myTextView1"android:layout_width="fill_parent" android:layout_height="wrap_content"android:textColor="@drawable/blue"android:text="@string/str_textview1"/><!-- 預設圖片按鈕的default圖案透過drawable資源中取得--><ImageButtonandroid:id="@+id/myImageButton1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/iconempty"/><Buttonandroid:id="@+id/myButton1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/str_button1" />
</LinearLayout>

Android--ImageButton的焦点及事件处理相关推荐

  1. Android基于监听的事件处理机制

    Android提供了强大的事件处理机制,主要包括两大类: 1,基于监听的事件处理机制:主要做法是为Android界面组件绑定特定的事件监听器 2,基于回调的事件处理机制:主要做法是重写Android组 ...

  2. Android popupwindow 失去焦点或者点击空白区域时消失的解决方法

    Android popupwindow 失去焦点或者点击空白区域时消失的解决方法 参考文章: (1)Android popupwindow 失去焦点或者点击空白区域时消失的解决方法 (2)https: ...

  3. android EditText取消焦点且退出软键盘

    android EditText取消焦点且退出软键盘 最近发现,如果在一个activity中直接加入EditText的话,每次打开这个activity的时候,就会自动打开软键盘,并且点哪里都取消不了. ...

  4. android videoview按钮,Android videoview抢占焦点的处理方法

    [导读]这篇文章主要为大家详细介绍了Android videoview抢占焦点的处理方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 问题描述: android 机顶盒应用: 应用程序主界面(M ...

  5. Android - ImageButton单击切换按钮图片效果的实现

    在android中有一个ImageButton的View,跟Button按钮的区别是可以在Imagebutton上加载一个图片. 从ImageButton这个字面意思上来看,它是一个图片按钮,那么我们 ...

  6. android ImageButton的图片怎么定义?

    ============问题描述============ 我自定义了一个View对象,对象内在行项目上添加了一个ImageButton对象,对象的图片使用src属于设置,然后在按钮的OnClick事件 ...

  7. android 固定中间焦点,在Android上将相机焦点设置为受控固定距离

    mykolaj.. 9 不试图在这里完全回答这个问题,只是试图给它一些方向. 所以,你需要的是这种操作的驱动程序支持.然后在某些时候,您会要求您的应用程序中的驱动程序设置请求的焦距. 另一个问题是:& ...

  8. android 处理通话焦点,java – AUDIOFOCUS_LOSS在Android中打电话后打电话

    当手机响起时,我试图暂停媒体播放器.我使用 android站点的示例代码.就这样 public void onAudioFocusChange(int focusChange) { switch (f ...

  9. android imageButton 透明图片

    在Android有许多不规则button.例如: 这个时候,我们假设想做成不规则button的话.第一步就是搞一张边缘透明的png图片,然后用src指定到他.这个时候我们会发现,还没有达到要的效果.还 ...

最新文章

  1. python基础知识面试题-python基础知识的重点面试题
  2. c语言清除html标签的方法,去除HTML代码中所有标签的两种方法
  3. 实现一个不能被继承的类
  4. IT从业的迷思与破解之道(更新)
  5. 一张图搞清楚Java异常机制
  6. flask框架基本使用(2)(响应与重定向)
  7. Windows Server 2008 部署权限管理RMS
  8. mosek 安装配置python_python安装、配置以及pyinstaller的安装、使用
  9. javascript编辑器
  10. php bc 比较,php BC高精确度函数库
  11. Redis单机模式搭建
  12. Lucene知识小总结8:索引查询
  13. 游戏服务端加密如何解密
  14. [工作报告]转载:程序员绩效总结_年终总结怎么写?
  15. 下面关于在dos停止mysql_下面关于在DOS停止MySql的命令中,正确的是 (5.0分)_学小易找答案...
  16. linux--设置屏幕的锁屏时间
  17. java调用帆软cpt文件_报表中心FineReport中java如何直接调用报表打印
  18. JSON.stringfy()详解
  19. 立创EDA安装ibom插件
  20. ie11 开发者工具

热门文章

  1. bash shell命令(1)
  2. ArcBruTile 0.2.2
  3. 自动注册 IIS6 的 MIME 类型
  4. Linux学习之CentOS(七)--CentOS下j2ee环境搭建
  5. 窗口子类化-实例应用
  6. PostgreSQL学习手册(四) 常用数据类型
  7. 利用增强限制条件来求解问题
  8. spring 注解@PathVariable
  9. 进程与线程 thread (二)——线程概念
  10. cocos2d-x JS 开启远程代码调试