`
byandby
  • 浏览: 1697761 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android ImageButton示例

阅读更多
  除了可以使用Android系统自带的Button(按钮)外,在Android平台中,我们还可以制作带图标的按钮,这就需要使用ImageButton组件鸟
  要制作带图标的按钮,首先要在布局文件中定义ImageButton,然后通过setImageDrawable方法来设置按钮要显示的图标。同样需要对按钮设置事件监听 setOnClickListener,以此来捕捉事件并处理。 我们先看看这个例子的运行效果。








示例代码如下:
package com.xiaohang;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;

public class Activity01 extends Activity {
    /** Called when the activity is first created. */
	TextView textView;
	ImageButton imageButton1,imageButton2,imageButton3,imageButton4;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        textView = (TextView)findViewById(R.id.TextView01);
        imageButton1 = (ImageButton)findViewById(R.id.ImageButton01);
        imageButton2 = (ImageButton)findViewById(R.id.ImageButton02);
        imageButton3 = (ImageButton)findViewById(R.id.ImageButton03);
        imageButton4 = (ImageButton)findViewById(R.id.ImageButton04);
        
        //给按钮设置使用的图标,由于button1,button2,button3,已经在xml文件中设置了这里就不设置了
        imageButton4.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_call_incoming));
        
        //以下分别为每个按钮设置事件监听 setOnClickListener
        imageButton1.setOnClickListener(new Button.OnClickListener(){
			public void onClick(View v) {
				//对话框   Builder是AlertDialog的静态内部类
				Dialog dialog = new AlertDialog.Builder(Activity01.this)
				//设置对话框的标题
					.setTitle("小航提示")
				//设置对话框要显示的消息
					.setMessage("我真的是ImageButton1")
				//给对话框来个按钮 叫“确定定” ,并且设置监听器 这种写法也真是有些BT
					.setPositiveButton("确定定", new DialogInterface.OnClickListener(){

						public void onClick(DialogInterface dialog, int which) {
							//点击 "确定定" 按钮之后要执行的操作就写在这里
						}
					}).create();//创建按钮
					dialog.show();//显示一把
			}
        });
        
        imageButton2.setOnClickListener(new Button.OnClickListener(){
			public void onClick(View v) {
				Builder dialog = new AlertDialog.Builder(Activity01.this);
				dialog.setTitle("提示");
				dialog.setMessage("我是ImageButton2,我要使用ImageButton3的图标");
				dialog.setPositiveButton("确定", new DialogInterface.OnClickListener(){
					public void onClick(DialogInterface dialog, int which) {
						//好了我成功把Button3的图标掠夺过来
						imageButton2.setImageDrawable(getResources().getDrawable(R.drawable.button3));
					}
				}).create();//创建按钮
				dialog.show();
			}
        });
        
        imageButton3.setOnClickListener(new Button.OnClickListener(){
			public void onClick(View v) {
				Builder dialog = new AlertDialog.Builder(Activity01.this);
				dialog.setTitle("提示");
				dialog.setMessage("我是ImageButton3,我要使用系统打电话图标");
				dialog.setPositiveButton("确定", new DialogInterface.OnClickListener(){
					public void onClick(DialogInterface dialog, int which) {
						//把imageButton3的图标设置为系统的打电话图标
						imageButton3.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_action_call));
					}
				}).create();//创建按钮
				dialog.show();
			}
        });
        
        imageButton4.setOnClickListener(new Button.OnClickListener(){
			public void onClick(View v) {
				Builder dialog = new AlertDialog.Builder(Activity01.this);
				dialog.setTitle("提示");
				dialog.setMessage("我没钱买图标使用的是系统图标");
				dialog.setPositiveButton("确定", new DialogInterface.OnClickListener(){
					public void onClick(DialogInterface dialog, int which) {
						
					}
				}).create();//创建按钮
				dialog.show();
			}
        });
    }
}



布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView 
android:id="@+id/TextView01"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />

<ImageButton
android:id="@+id/ImageButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/button1"
/>

<ImageButton
android:id="@+id/ImageButton02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/button2"
/>

<ImageButton
android:id="@+id/ImageButton03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/button3"
/>

<ImageButton
android:id="@+id/ImageButton04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

</LinearLayout>
平台Android 2.0   API Level 5
最后再给大家贡献2个 图标 搜索 网站。很给力的。
http://findicons.com/
http://www.iconfinder.com/
图片见附件
源码已上传 见附件。
  • 大小: 28.4 KB
  • 大小: 34.2 KB
  • 大小: 35.2 KB
分享到:
评论
3 楼 wk814007042 2015-06-29  
非常感谢
2 楼 winchun323 2012-07-17  
感谢楼主!!!
1 楼 guolong2008 2012-07-05  
学习了。楼主不错

相关推荐

    Android ImageButton图片按钮Demo源码.rar

    这个"Android ImageButton图片按钮Demo源码.rar"应该包含了一个完整的示例项目,用于演示如何在Android应用中使用`ImageButton`。 首先,我们来详细了解一下`ImageButton`的基本用法。`ImageButton`主要通过设置其`...

    android下imagebutton换图片

    在Android开发中,`ImageButton` 是一个非常常用的控件,它继承自 `Button`,但主要用来显示图像,而非文字。在许多应用界面设计中,我们经常需要为 `ImageButton` 设置不同的图片以实现不同的功能状态,例如:按下...

    Android 单击选中的ImageButton[]图像数组用法示例.rar

    Android 单击选中的ImageButton[]图像数组用法示例,类似于Radio的功能,不过用图片表现,这样可使Android UI更加友好,视觉更漂亮一些,用户轻触图片,即可选中该数据项,比Radio用户体验更好,如截图所示的选中...

    Android ImageButton的使用 及长按Button的实现

    总的来说,`ImageButton`在Android应用开发中扮演着重要的角色,结合点击和长按事件,可以实现丰富的交互功能。通过理解其使用方法和事件处理机制,开发者可以更灵活地设计用户界面,提升用户体验。

    Android UI编程自定义控件ImageButton

    在Android应用开发中,UI设计是至关重要的,而自定义控件可以让我们更灵活地实现独特的界面效果。本教程将深入探讨如何...在DemoCustomView-ImageButton项目中,你可以找到实际的代码示例,进一步理解并应用这些概念。

    Android4.0开发学习之ImageButton

    在上面的示例中,`button_image`是显示在`ImageButton`上的图像资源,而`button_selector`是一个XML选择器文件,用于定义按钮的不同状态样式。 接下来,我们来看一个实际的代码例子。假设你已经创建了一个新的...

    Android中ImageButton的常用方法一览.pdf

    在Android开发中,`ImageButton`是一个非常常用的组件,它结合了图像和按钮的功能,允许用户通过点击图像来触发相应的操作。下面将详细讲解`ImageButton`的一些核心概念、属性以及常用方法。 1. `ImageButton`类的...

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

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

    Android ImageButton自定义按钮的按下效果的代码实现方法分享

    `ImageButton`是Android SDK中一种特殊的`Button`类型,它允许我们显示图像作为按钮内容。本篇文章将详细探讨如何在Android中为`ImageButton`自定义按下效果,包括代码实现和使用XML资源的方法。 首先,我们可以...

    Qt on Android 示例程序

    **Qt on Android 示例程序** Qt 是一个跨平台的开发框架,允许开发者使用 C++ 编写应用程序,并在多个操作系统上运行,包括 Android。本示例集合来自《Qt on Android核心编程》一书,旨在帮助读者深入理解如何在 ...

    android自定义控件ImageButton

    以下是一个简单的示例: ```java public class CustomImageButton extends ImageButton { public CustomImageButton(Context context) { super(context); init(); } public CustomImageButton(Context ...

    Android开发中ImageButton如何使用系统图标

    本文将详细介绍如何在Android应用中使用系统图标来定义`ImageButton`,并提供一个经过验证的示例。 首先,我们需要了解Android系统的资源结构。在Android中,系统图标位于`res/drawable`目录下,分为不同的子目录,...

    安卓Android源码——(ImageButton图片按钮).rar

    这个压缩包文件"安卓Android源码——(ImageButton图片按钮).rar"很可能是包含了一个示例项目,展示了如何在Android应用中使用`ImageButton`来实现图片按钮的功能。下面我们将深入探讨`ImageButton`的相关知识点。 1...

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

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

    Android经典设计源码-ImageButton.rar

    这个压缩包文件"Android经典设计源码-ImageButton.rar"很可能是包含了一个关于`ImageButton`的示例项目,用于帮助开发者理解和掌握如何在实际应用中有效地使用`ImageButton`。 `ImageButton`在Android中的主要特点...

    Android应用源码之ImageButton.zip

    本资源“Android应用源码之ImageButton.zip”提供了一个关于`ImageButton`的示例源代码,这对于理解和学习如何在Android应用中使用`ImageButton`非常有帮助。 `ImageButton`与普通的`ImageView`的主要区别在于,`...

    Android基本控件使用示例

    Android基本控件使用示例,包含以下控件实例: AutoCompleteTextView CheckBox TimePicker DatePicker EditText GridView ImageButton ImageShow ImageView ProgressBar RadioGroup RatingBar SeekBar Spinner Tab

    android获取焦点后按钮变大

    在项目`FocusLarge`中,可能包含了实现这个效果的完整代码示例,包括样式文件、布局文件以及可能的Java或Kotlin代码。你可以通过查看这些文件,了解具体的实现细节,并根据自己的需求进行调整。这种方法不仅提高了...

Global site tag (gtag.js) - Google Analytics