android 按钮带图标 阴影_android中带图标的按钮(ImageButton)怎么用
展开全部
除了Android系统自带的Button按钮以外,还提供了带图标的按钮ImageButton
要制作带图标的按钮,首先要在布局62616964757a686964616fe58685e5aeb931333337613163文件中定义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
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="ImageButton测试案例"
/>
android:id="@+id/imagebutton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon1"
/>
android:id="@+id/imagebutton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
android:id="@+id/imagebutton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
android:id="@+id/imagebutton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
android 按钮带图标 阴影_android中带图标的按钮(ImageButton)怎么用相关推荐
- android 按钮带图标 阴影_Android实现图片添加阴影效果的2种方法
给图片添加阴影效果,这是很常见的需求.第一种方法是自定义drawable,使用layer-list定义两个图片,代码如下: show_view.xml: android:top="5dp&q ...
- 在Vue+Element ui 项目中如何使用iconfont(阿里图标库)中的图标
在项目过程中,element ui 中自带的图标往往满足不了自己的需求,那么如何在项目中使用iconfont的图标呢? 在iconfont中新建一个项目 找到自己想要的图标,加入购物车,加入完成后点击 ...
- html网页加入一个按钮,在html网页设计中,一个“登录”按钮怎么编写代码?
html网页设计:一个简单的登录界面代码! 在html网页设计中,一个"登录"按钮怎么编写代码? 列如所给图片的"登录"按钮怎么用html代码显示出来,要求能够 ...
- 广义图标与界面中的图标
图标是具有明确指代含义的计算机图形 桌面图标是软件标识,界面中的图标是功能标识. 广义--具有指代意义的图形符号,具有高度浓缩并快捷传达信息.便于记忆的特性.应用范围很广,软硬件网页社交场所公共场合无 ...
- vue两个按钮切换_在vue中实现多个按钮样式的点击切换?
1.在vue中实现多个按钮样式的点击切换?有多个按钮,点击其中一个出现下划线,而另一个回到原始状态. 点击其中一个两个同时出现下划线样式: 再次点击两个都还原成最初的样式,即有下划线: 如何实现只有被 ...
- android 按钮带图标 阴影_Android Material Design系列之FloatingActionButton和Snackbar
今天主讲的Material Design系列的两个控件都不难,所以一起讲了,分别是FloatingActionButton和Snackbar.这个系列都是主讲的Material Design风格的控件 ...
- php弹出窗口带确定按钮,javascript弹出窗口中增加确定取消按钮
比例a标签点击后,弹出带确定与取消的窗口,点击确定则执行一个动作,否则不执行. 首先我们用ecshop 模板使用举例 {if $votings eq 1} οnclick="if (conf ...
- php 网址尾部带斜杠和不带区别,URL路径中带正斜杠/与不带的区别
简单理解:不带斜杠的URL结尾通常被服务器识别成独立文件,当它去查找这个文件缺失的时候,就会重定向到带斜杠的URL,这个时候带斜杠的URL,可以理解成为是目录. 解读URL结尾斜杠的产生: 举例: - ...
- android 控件宽度自适应_Android中让图片自适应控件的大小的方法
这就需要把.png格式的图片转成.9.png格式,.9.png就是后缀名.在安装Android-SDK时自带了可以把.png格式的图片编辑后保存就变成了.9.png格式.这个文件存放在你所安装的And ...
最新文章
- 【 MATLAB 】fliplr 函数介绍(从左到右翻转阵列)
- 牛客网——求平均年龄(水题)
- 关于添加“服务引用”和“添加引用”的一点总结
- 交换基本数据类型的方法swap,并影响到主方法
- 多协程实例分析(一)
- TCP/IP总结(4)TCP 之3次握手
- 为SAP Analytics Cloud的story创建持久化页面
- Java Web访问.action_java设置web首页访问action
- python面向对象怎么解决_Python面向对象编程1
- java 大小固定_为什么Java堆的最大大小是固定的?
- java 重复代码优化_利用注解 + 反射消除重复代码(Java项目)
- 今日恐慌与贪婪指数为75 贪婪程度有所上升
- 手机号 验证函数 C++
- 点分十进制IP和网络字节序IP互转
- NDK开发Android端RTMP直播推流程序
- 无刷舵机、普通舵机等舵机的区别
- android如何设置自适应大小的背景图片,Android 背景图片自适应方案
- 服务器托管费用一般是多少
- HALCON学习论坛
- 集线器、路由器、交换机区别
热门文章
- netty java开发文档_Netty简明教学文档
- 怎么在计算机里找到CF里保存的视频,电脑怎么查看穿越火线录制保存视频?操作方法...
- linux core 永久生效,【调试】Core Dump是什么?Linux下如何正确永久开启?
- RuntimeException:java.lang.ClassNotFoundException: Class wordcount.WordCountMapper not fonud
- php自然排序法的比较过程,PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)...
- mysql查找大小写_mysql查询不区分大小写
- ccs变量观察窗口在哪_CCS3.3查看变量图形
- lasso回归_一文读懂线性回归、岭回归和Lasso回归
- java类加载过程_java类的加载过程
- 三星w系列vip服务器,高端人士候机专属特权 三星W2017一张行走的VIP卡