`
nanjingjiangbiao_T
  • 浏览: 2739972 次
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Android--ImageButton的焦点及事件处理

 
阅读更多

这里例子实现的是当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"?>
<LinearLayout
  xmlns: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"
  >
  <TextView
  android:id="@+id/myTextView1"
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content"
  android:textColor="@drawable/blue"
  android:text="@string/str_textview1"/>
	<!-- 
  	預設圖片按鈕的default圖案透過drawable資源中取得
 	-->
  <ImageButton
  android:id="@+id/myImageButton1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:src="@drawable/iconempty"/>
   <Button
  android:id="@+id/myButton1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/str_button1" />   
</LinearLayout>


分享到:
评论

相关推荐

    android 具有背景图片的按钮 ImageButton的焦点事件以及事件处理

    以上就是关于`android 具有背景图片的按钮 ImageButton的焦点事件以及事件处理`的相关知识。通过理解并熟练掌握这些技巧,你能够创建出更富交互性的Android应用程序,提升用户体验。在实际开发中,还需要注意性能...

    ImageButton的焦点及事件处理

    总结来说,`ImageButton`的焦点处理和事件响应是Android UI开发中的基础操作。通过定义和应用状态选择器,我们可以根据用户交互改变组件的视觉反馈,同时通过监听点击事件来执行相应的业务逻辑。这不仅提升了用户...

    11-android ImageButton 图片按钮

    在Android开发中,`ImageButton`是一个非常常用的组件,它继承自`ImageView`,并增加了点击事件处理的功能,使得我们可以将图片作为按钮使用。本篇主要探讨`ImageButton`的使用、特性以及与源码相关的知识。 首先,...

    Android4.0开发学习之ImageButton

    在Android应用开发中,`ImageButton`是一个非常重要的控件,它继承自`ImageView`,但增加了点击事件的支持,使得开发者可以实现类似按钮的功能,同时展示图片。本篇将深入探讨在Android 4.0(API Level 14)环境下...

    Android 自定义控件DemoCustomView-ImageButton

    默认情况下,`ImageButton`具有透明背景,焦点时显示边框。 3. **绘制逻辑**:自定义控件往往需要重写`onDraw()`方法来实现自己的绘图逻辑。在这个练习中,可能包括了修改按钮的形状、添加自定义边框、更改默认的按...

    安卓Android源码——ImageButton.rar

    总结,`ImageButton` 在 Android 应用开发中是一个强大的工具,通过源码学习我们可以了解到它的绘图机制、事件处理以及如何进行自定义扩展。理解这些细节有助于我们编写出更高效、更易用的界面。在实际开发中,合理...

    android获取焦点后按钮变大

    "android获取焦点后按钮变大"这个话题就是关于如何在用户点击或触摸按钮时改变其大小,使其更加突出,从而吸引用户的注意力。这个效果通常通过自定义样式、主题或者布局动画来实现。下面将详细探讨如何实现这一功能...

    Android-ListView中嵌套(ListView)控件兼容问题

    在Java代码中,可以为父`ListView`设置`setFocusable(false)`,以确保它不会获取焦点,进而使得触摸事件能够被正确地处理。这通常配合上面提到的XML属性一起使用。 #### 示例代码详解 下面是对示例代码的具体解释...

    android ImageButton示例

    在本示例中,我们将深入探讨`ImageButton`的使用方法,包括如何在布局文件中声明、如何设置图片资源、如何处理点击事件,以及一些实用的属性和技巧。 首先,`ImageButton`在XML布局文件中的声明方式与`ImageView`...

    Android2.2 API 中文文档系列(7) —— ImageButton

    ### Android2.2 API中文文档系列(7)—— ImageButton #### 概述 在本篇文档中,我们将深入了解`ImageButton`这一控件的基本特性和高级用法。`ImageButton`是`ImageView`的一个子类,继承了`ImageView`的所有功能...

    ImageButton 控件应用.rar

    在Android开发中,`ImageButton`控件是一种常用的UI元素,它继承自`ImageView`,但增加了点击事件处理功能。在创建交互式用户界面时,`ImageButton`常常被用来实现按钮的功能,同时展示图像,使界面更加直观和美观。...

    Android下实现win8风格的imageButton

    这通常涉及自定义View类,扩展Android的默认ImageButton类,并添加必要的触摸事件处理和动画逻辑。 2. **触摸事件处理**:当用户触摸按钮时,应响应滑动和点击事件。你可以使用Android的`MotionEvent`类来监听触摸...

    ImageButton图片按钮

    在Android开发中,`ImageButton`是一个非常常用的组件,它继承自`ImageView`,并增加了点击事件处理的功能。本文将深入探讨`ImageButton`的基本概念、使用方法、属性设置以及实际应用场景,帮助开发者更好地理解和...

    andoid点击按钮(ImageButton)时改变按钮的背景图片 SelectorDemo

    在Android开发中,按钮(Button)是用户交互的重要元素,而`ImageButton`是按钮的一种特殊形式,主要用于显示图像。在本教程中,我们将探讨如何在用户点击`ImageButton`时动态改变其背景图片,这个功能可以通过使用`...

    ImageButton

    通过使用`selector`资源,可以为`ImageButton`定义不同状态(如按下、焦点、默认等)下的不同图像,以提供更好的用户体验。 ```xml &lt;selector xmlns:android="http://schemas.android.com/apk/res/android"&gt; ...

    Android 点击ImageButton时有“按下”的效果的实现

    在实现Android 点击ImageButton时有“按下”的效果时,还需要注意ImageButton的背景设为透明,以避免ImageButton的背景遮盖图片的效果。可以使用以下代码来设为ImageButton的背景为透明: ```java imageButton....

    android有关按钮的小例子全集

    - 高亮状态:`android:state_focused="true"`状态,通常在按钮获取焦点时生效。 - 默认状态:未按下、未聚焦时的状态。 4. **按钮点击动画**: - 使用AnimationDrawable为按钮添加点击时的动画效果,如缩放、...

Global site tag (gtag.js) - Google Analytics