ImageButton图片背景的切换

图形按钮:以图形代表文字,并且可以按照按钮的状态,列入,正常、按下(press)、聚焦(focus),来显示对应的图形文件,又称做自定义按钮·

ImageButton图片的切换有多种现在先来说在xml中的切换

在xml实现动态切换使用selector标签,代码如下

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

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

   <item android:state_pressed="true"

    android:drawable="@drawable/android_pressed"/>

 <item android:state_pressed="true"

  android:drawable="@drawable/android_focused"/>

<item android:drawable="@drawable/android_normal"/>

</selector>

以selector来定义图形按钮有哪些状态选项,每一个<item>子标签都代表一个选项

state_pressed="true"代表了按钮被按下此时按钮图片的状态"

state_focused="true"代表了按钮被聚焦是图片按钮图片的状态聚焦也就是触控球或轨迹板焦点移到按钮上的状态

最有一个是按钮没有任何点击或者聚焦时的状态

下面来说在java代码中对图片的操作

与ImageView控件一样,有很多方法可用于设置ImageButton控件显示的图形,其中包括如下4种。

setImageButton:用于将ImageButton控件显示的图形设置为一个Bitmap对象

setImageDrawable():用于将ImageButton控件显示的图形设置为一个Drawable对象

setImageResource():用于将ImageButton控件显示的图形设置为一个资源标示符

setImageImageURI():用于将ImageButton控件显示的图形设置为一个URI地址

 在java代码中写监听然后更改背景图片时候我曾遇到过一个问题然后点击按钮后背景图片不会切换

最终经过验证使用setBackgroundResource()加载drawable中的selector.xml最终成功了

其中set方法有setBackground(Drawable background);

 setBackgroundDrawable(Drawable background);

setBackgroundColor(int color);

setBackgroundResource(int resid);

set方法有很多个设置的方法也不止是一个在这里设置的时候我们一定要注意了看清楚里括号里面的参数选择正确的set方法

不然最后肯定得不到想要的结果换可能报错

其中ImageButton的单击事件有两种

一setOnClickListener()点击一下释放后

--setOnLongClick()处理长时间安卓一个按钮后的事件


转自http://blog.csdn.net/songjunyan/article/details/39249327

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值