问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

android中带图标的按钮(ImageButton)怎么用

发布网友 发布时间:2022-04-21 17:36

我来回答

4个回答

热心网友 时间:2023-04-29 05:57

除了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源代码
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
<?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/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>

热心网友 时间:2023-04-29 05:58

跟普通的按钮一样使用,定义,activity中调用资源显示,添加*,
主要区别就是这个按钮要添加一个图片资源。这个可以在xml文件中解决
android:src=“@drawable/fdafsafdsaf”追问谢谢你
我还想问,我想让界面里德三行按钮同行距,并且占整个界面,我该怎么做?

追答三行按钮是每一行就一个按钮吗?
(1)只有三个的话你把每一个按钮的高度android:layout_width=0;然后用
android:layout_weight=百分比。
每个按钮都这样,保证所有的加起来等于百分百。这样比较方便的占据整个界面。

(2)还有一种方法就是高度android:layout_width=match_parent.这样更容易填满整个界面。

至于行间距的话我回去试验下再说吧。上面的方法是理论上的我也没有试过,你试试应该是可以的。试出来麻烦也告诉我下谢谢。

热心网友 时间:2023-04-29 05:58

跟普通的按钮一样使用,定义,activity中调用资源显示,添加*,
主要区别就是这个按钮要添加一个图片资源。这个可以在xml文件中解决
android:src=“@drawable/fdafsafdsaf”

热心网友 时间:2023-04-29 05:59

就和普通的button差不多的,都是继承于View,用法都一样。
等于就是一张图,可以设置点击事件,进行相应的处理。其实说来用Button也可以,加上background属性就行了,直接用imageview也行,也可以加OnClickListener。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
介绍几个好玩的单机游戏,要封网一段时间了。。 请问谁知道四川宜宾公租房手续如何办理?时间地点?都有哪些要求?谢谢好 ... 婴儿过敏性鼻炎怎么办 四川,内江在哪里可以申请公租房需要些什么条件,本人是农村户籍? 我和我姐是四川户籍农村的,现在在重庆上班四年了,想在想在重庆申请公... 四川农村户口,想在重庆申请公租房可以吗?具体需要哪些条件。_百度知 ... Steam游戏更新失败怎么办 疯狂动物园草原地图动物解析 威客中国的运作过程威客中国 威客中国的交易问题``! 首都师范大学专科有什么专业 分数线是多少 卡萨帝洗烘一体机洗涤剂要点击吗 怎么用vc6.0给按钮添加图标.ico 怎么安慰亲人去世的朋友 报考首都师范大学音乐系学钢琴专业的用考第二乐器... 告的上部怎么读 如何制作ico图标? 音乐学专业成绩87分,文化课500分能考上首师大吗? 按要求写成语。(每小题写4个) C# button.image 如何是使用icon格式的图标?如何当... 我需要中国所有汉字啊急急急 首都师范大学艺术类分数线 新买的海尔滚筒洗衣机在使用单烘干功能中按了暂时... JButton(Icon)图片按钮无法显示图片 联想M7120Pro打印机卡纸怎么取出图解? 首都师范大学2010年音乐方面专业分数线 亲人去世了应该怎么安慰? icon图标加载完成请点击追加按钮,追加按钮在哪 联想lenovo打印机卡住怎么怎么 用谧,巷,俏,逗,庞,烘,烤,韵,勤,勉,吻这... APP里面的按钮图标一般尺寸多大 jsf中button的 icon属性有什么 如何使icon充满整个JButton 怎么安慰亲人离世的人 Powerbi中如何实现带图标的按钮 vb.net 如何制作图标按钮 ?急急急!!在线等! 朋友亲人去世了,该怎么安慰 java 如何用swing创建一个带图标的按钮 如何安慰亲人去世 java button 里的图片怎么适应按钮大小? 外地车牌在杭州可在支付宝上办理年检吗? 外地牌照车可以在杭州年检吗? 外地机动车在杭州好年审吗 杭州车管所办理异地年检需要什么手续 2022年二手车5月1日政策可以跨省验车 杭州车辆异地年检需要什么手续 外省车可以在本地直接去年检吗 上海牌照杭州检车,异地检车的事宜? 怎样申请异地车辆年检啊?需要什么证件呢? 外地车年检需要什么手续?
  • 焦点

最新推荐

猜你喜欢

热门推荐