Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 626|回复: 0

Android---UI篇---ImageButton(带图标的按钮)-  Android学习

[复制链接]

该用户从未签到

发表于 2011-10-24 15:00:13 | 显示全部楼层 |阅读模式
除了Android系统自带的Button按钮一万,还提供了带图标的按钮ImageButton

要制作带图标的按钮,首先要在布局文件中定义ImageButton,然后通过setImageDrawable方法来设置要显示的图标。
注意:
我们可以在布局文件中就直接设置按钮的图标,如
android:src="@drawable/icon1"
我们也可以在程序中设置自定义图标
imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.icon2));
我们还可以使用系统自带的图标
imgbtn4.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_call_incoming));

设置完按钮的图标后,需要为按钮设置监听setOnClickListener,以此捕获事件并处理

下面的例子讲述的是由4个图标按钮组成的布局,其中三个按钮的图标是自定义的,第四个按钮的图标是系统的,当点击按钮1的时候,弹出dialog,当点击按钮2的时候,点击确定后,可以将按钮2的图标变成按钮3的图标,当点击按钮3的时候,按钮3的图标变成了系统打电话的图标,点击按钮4,显示一个提示dialog

ImageButtonTest.java源代码

Java代码
package org.loulijun.imagebutton;



import android.app.Activity;

import android.app.AlertDialog;

import android.app.Dialog;

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 ImageButtonTest extends Activity {

    /** Called when the activity is first created. */

        TextView textview;

        ImageButton imgbtn1;

        ImageButton imgbtn2;

        ImageButton imgbtn3;

        ImageButton imgbtn4;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        

        textview=(TextView)findViewById(R.id.textview);

        //分别取得4个ImageButton对象

        imgbtn1=(ImageButton)findViewById(R.id.imagebutton1);

        imgbtn2=(ImageButton)findViewById(R.id.imagebutton2);

        imgbtn3=(ImageButton)findViewById(R.id.imagebutton3);

        imgbtn4=(ImageButton)findViewById(R.id.imagebutton4);

        

        //分别为ImageButton设置图标

        //imgbtn1已经在main.xml布局中设置了图标,所以就不在这里设置了(设置图标即可在程序中设置,也可在布局文件中设置)

        imgbtn2.setImageDrawable(getResources().getDrawable(R.drawable.icon));//在程序中设置图标

        imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.icon2));

        imgbtn4.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_call_incoming));//设置系统图标

        

        //下面为各个按钮设置事件监听

        imgbtn1.setOnClickListener(new Button.OnClickListener()

        {

                        @Override

                        public void onClick(View v) {

                                // TODO Auto-generated method stub

                                Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)

                                .setTitle("提示")

                                .setMessage("我是ImageButton1")

                                .setPositiveButton("确定",new DialogInterface.OnClickListener() {

                                       

                                        @Override

                                        public void onClick(DialogInterface dialog, int which) {

                                                // TODO Auto-generated method stub

                                                //相应的处理操作

                                        }

                                }).create();

                                dialog.show();

                        }

               

        });

        

        imgbtn2.setOnClickListener(new Button.OnClickListener()

        {

                        @Override

                        public void onClick(View v) {

                                // TODO Auto-generated method stub

                                Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)

                                .setTitle("提示")

                                .setMessage("我是ImageButton2,我要使用ImageButton3的图标")

                                .setPositiveButton("确定",new DialogInterface.OnClickListener() {

                                       

                                        @Override

                                        public void onClick(DialogInterface dialog, int which) {

                                                // TODO Auto-generated method stub

                                                imgbtn2.setImageDrawable(getResources().getDrawable(R.drawable.icon2));

                                        }

                                }).create();

                                dialog.show();

                        }

               

        });

        

        imgbtn3.setOnClickListener(new Button.OnClickListener()

        {

                        @Override

                        public void onClick(View v) {

                                // TODO Auto-generated method stub

                                Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)

                                .setTitle("提示")

                                .setMessage("我是ImageButton3,我想使用系统打电话的图标")

                                .setPositiveButton("确定",new DialogInterface.OnClickListener() {

                                       

                                        @Override

                                        public void onClick(DialogInterface dialog, int which) {

                                                // TODO Auto-generated method stub

                                                imgbtn3.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_action_call));

                                        }

                                }).create();

                                dialog.show();

                        }

               

        });

        

        imgbtn4.setOnClickListener(new Button.OnClickListener()

        {

                        @Override

                        public void onClick(View v) {

                                // TODO Auto-generated method stub

                                Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)

                                .setTitle("提示")

                                .setMessage("我是使用的系统图标")

                                .setPositiveButton("确定",new DialogInterface.OnClickListener() {

                                       

                                        @Override

                                        public void onClick(DialogInterface dialog, int which) {

                                                // TODO Auto-generated method stub

                                                //相应的处理操作

                                        }

                                }).create();

                                dialog.show();

                        }

               

        });

    }

}
复制代码

布局文件main.xml

Java代码
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    androidrientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

<TextView  

        android:id="@+id/textview"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="ImageButton测试案例"

    />

<ImageButton

        android:id="@+id/imagebutton1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:src="@drawable/icon1"

/>

<ImageButton

        android:id="@+id/imagebutton2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

/>

<ImageButton

        android:id="@+id/imagebutton3"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

/>

<ImageButton

        android:id="@+id/imagebutton4"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

/>

</LinearLayout>
复制代码

运行效果如下:



点击第一个按钮后



点击确定后,点击第二个按钮



点击确定,此时会看到按钮二的图标编程和按钮三的图标一样了



点击按钮三



点击确定后,发现按钮三的图标变成了系统打电话的图标



点击按钮四

回复

使用道具 举报

该用户从未签到

发表于 2011-10-24 15:00:17 | 显示全部楼层

Re:Android---UI

挺好的,顶一下了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 14:27 , Processed in 0.310885 second(s), 36 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表