这里例子实现的是当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 UI开发中的基础操作。通过定义和应用状态选择器,我们可以根据用户交互改变组件的视觉反馈,同时通过监听点击事件来执行相应的业务逻辑。这不仅提升了用户...
在Android开发中,`ImageButton`是一个非常常用的组件,它继承自`ImageView`,并增加了点击事件处理的功能,使得我们可以将图片作为按钮使用。本篇主要探讨`ImageButton`的使用、特性以及与源码相关的知识。 首先,...
在Android应用开发中,`ImageButton`是一个非常重要的控件,它继承自`ImageView`,但增加了点击事件的支持,使得开发者可以实现类似按钮的功能,同时展示图片。本篇将深入探讨在Android 4.0(API Level 14)环境下...
默认情况下,`ImageButton`具有透明背景,焦点时显示边框。 3. **绘制逻辑**:自定义控件往往需要重写`onDraw()`方法来实现自己的绘图逻辑。在这个练习中,可能包括了修改按钮的形状、添加自定义边框、更改默认的按...
总结,`ImageButton` 在 Android 应用开发中是一个强大的工具,通过源码学习我们可以了解到它的绘图机制、事件处理以及如何进行自定义扩展。理解这些细节有助于我们编写出更高效、更易用的界面。在实际开发中,合理...
"android获取焦点后按钮变大"这个话题就是关于如何在用户点击或触摸按钮时改变其大小,使其更加突出,从而吸引用户的注意力。这个效果通常通过自定义样式、主题或者布局动画来实现。下面将详细探讨如何实现这一功能...
在Java代码中,可以为父`ListView`设置`setFocusable(false)`,以确保它不会获取焦点,进而使得触摸事件能够被正确地处理。这通常配合上面提到的XML属性一起使用。 #### 示例代码详解 下面是对示例代码的具体解释...
在本示例中,我们将深入探讨`ImageButton`的使用方法,包括如何在布局文件中声明、如何设置图片资源、如何处理点击事件,以及一些实用的属性和技巧。 首先,`ImageButton`在XML布局文件中的声明方式与`ImageView`...
### Android2.2 API中文文档系列(7)—— ImageButton #### 概述 在本篇文档中,我们将深入了解`ImageButton`这一控件的基本特性和高级用法。`ImageButton`是`ImageView`的一个子类,继承了`ImageView`的所有功能...
在Android开发中,`ImageButton`控件是一种常用的UI元素,它继承自`ImageView`,但增加了点击事件处理功能。在创建交互式用户界面时,`ImageButton`常常被用来实现按钮的功能,同时展示图像,使界面更加直观和美观。...
这通常涉及自定义View类,扩展Android的默认ImageButton类,并添加必要的触摸事件处理和动画逻辑。 2. **触摸事件处理**:当用户触摸按钮时,应响应滑动和点击事件。你可以使用Android的`MotionEvent`类来监听触摸...
在Android开发中,`ImageButton`是一个非常常用的组件,它继承自`ImageView`,并增加了点击事件处理的功能。本文将深入探讨`ImageButton`的基本概念、使用方法、属性设置以及实际应用场景,帮助开发者更好地理解和...
在Android开发中,按钮(Button)是用户交互的重要元素,而`ImageButton`是按钮的一种特殊形式,主要用于显示图像。在本教程中,我们将探讨如何在用户点击`ImageButton`时动态改变其背景图片,这个功能可以通过使用`...
通过使用`selector`资源,可以为`ImageButton`定义不同状态(如按下、焦点、默认等)下的不同图像,以提供更好的用户体验。 ```xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> ...
在实现Android 点击ImageButton时有“按下”的效果时,还需要注意ImageButton的背景设为透明,以避免ImageButton的背景遮盖图片的效果。可以使用以下代码来设为ImageButton的背景为透明: ```java imageButton....
- 高亮状态:`android:state_focused="true"`状态,通常在按钮获取焦点时生效。 - 默认状态:未按下、未聚焦时的状态。 4. **按钮点击动画**: - 使用AnimationDrawable为按钮添加点击时的动画效果,如缩放、...