除了可以使用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
分享到:
相关推荐
这个"Android ImageButton图片按钮Demo源码.rar"应该包含了一个完整的示例项目,用于演示如何在Android应用中使用`ImageButton`。 首先,我们来详细了解一下`ImageButton`的基本用法。`ImageButton`主要通过设置其`...
在Android开发中,`ImageButton` 是一个非常常用的控件,它继承自 `Button`,但主要用来显示图像,而非文字。在许多应用界面设计中,我们经常需要为 `ImageButton` 设置不同的图片以实现不同的功能状态,例如:按下...
Android 单击选中的ImageButton[]图像数组用法示例,类似于Radio的功能,不过用图片表现,这样可使Android UI更加友好,视觉更漂亮一些,用户轻触图片,即可选中该数据项,比Radio用户体验更好,如截图所示的选中...
总的来说,`ImageButton`在Android应用开发中扮演着重要的角色,结合点击和长按事件,可以实现丰富的交互功能。通过理解其使用方法和事件处理机制,开发者可以更灵活地设计用户界面,提升用户体验。
在Android应用开发中,UI设计是至关重要的,而自定义控件可以让我们更灵活地实现独特的界面效果。本教程将深入探讨如何...在DemoCustomView-ImageButton项目中,你可以找到实际的代码示例,进一步理解并应用这些概念。
在上面的示例中,`button_image`是显示在`ImageButton`上的图像资源,而`button_selector`是一个XML选择器文件,用于定义按钮的不同状态样式。 接下来,我们来看一个实际的代码例子。假设你已经创建了一个新的...
在Android开发中,`ImageButton`是一个非常常用的组件,它结合了图像和按钮的功能,允许用户通过点击图像来触发相应的操作。下面将详细讲解`ImageButton`的一些核心概念、属性以及常用方法。 1. `ImageButton`类的...
在Android开发中,按钮(Button)是用户交互的重要元素,而`ImageButton`是按钮的一种特殊形式,主要用于显示图像。在本教程中,我们将探讨如何在用户点击`ImageButton`时动态改变其背景图片,这个功能可以通过使用`...
`ImageButton`是Android SDK中一种特殊的`Button`类型,它允许我们显示图像作为按钮内容。本篇文章将详细探讨如何在Android中为`ImageButton`自定义按下效果,包括代码实现和使用XML资源的方法。 首先,我们可以...
**Qt on Android 示例程序** Qt 是一个跨平台的开发框架,允许开发者使用 C++ 编写应用程序,并在多个操作系统上运行,包括 Android。本示例集合来自《Qt on Android核心编程》一书,旨在帮助读者深入理解如何在 ...
以下是一个简单的示例: ```java public class CustomImageButton extends ImageButton { public CustomImageButton(Context context) { super(context); init(); } public CustomImageButton(Context ...
本文将详细介绍如何在Android应用中使用系统图标来定义`ImageButton`,并提供一个经过验证的示例。 首先,我们需要了解Android系统的资源结构。在Android中,系统图标位于`res/drawable`目录下,分为不同的子目录,...
这个压缩包文件"安卓Android源码——(ImageButton图片按钮).rar"很可能是包含了一个示例项目,展示了如何在Android应用中使用`ImageButton`来实现图片按钮的功能。下面我们将深入探讨`ImageButton`的相关知识点。 1...
### Android2.2 API中文文档系列(7)—— ImageButton #### 概述 在本篇文档中,我们将深入了解`ImageButton`这一控件的基本特性和高级用法。`ImageButton`是`ImageView`的一个子类,继承了`ImageView`的所有功能...
这个压缩包文件"Android经典设计源码-ImageButton.rar"很可能是包含了一个关于`ImageButton`的示例项目,用于帮助开发者理解和掌握如何在实际应用中有效地使用`ImageButton`。 `ImageButton`在Android中的主要特点...
本资源“Android应用源码之ImageButton.zip”提供了一个关于`ImageButton`的示例源代码,这对于理解和学习如何在Android应用中使用`ImageButton`非常有帮助。 `ImageButton`与普通的`ImageView`的主要区别在于,`...
Android基本控件使用示例,包含以下控件实例: AutoCompleteTextView CheckBox TimePicker DatePicker EditText GridView ImageButton ImageShow ImageView ProgressBar RadioGroup RatingBar SeekBar Spinner Tab
在项目`FocusLarge`中,可能包含了实现这个效果的完整代码示例,包括样式文件、布局文件以及可能的Java或Kotlin代码。你可以通过查看这些文件,了解具体的实现细节,并根据自己的需求进行调整。这种方法不仅提高了...