Android中的Button怎么在点击更换背景?点击后又恢复原来的背景?

比如说,一个Button在不被点击时背景为图片A,怎么在点击时换成图片B?点击后又恢复成图片A?... 比如说,一个Button在不被点击时背景为图片A,怎么在点击时换成图片B?点击后又恢复成图片A? 展开
 我来答
QQMSD8
推荐于2016-12-06 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部
只需要给Button配置一个Selector背景选择器即可实现。
1.创建mylist_view.xml文件
首先在res目录下新建drawable文件夹,再在新建的drawable文件夹中新建mylist_view.xml,其目录结构为:res/drawable/mylist_view.xml。

2.根据具体需求编辑mylist_view.xml文件
新建mylist_view.xml文件后,在没有添加任何属性时其内部代码结构为:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
</selector>

3.下面就可以根据项目需求,在其内部定义为自己想要的样式了,主要属性如下:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片-->
<item android:drawable="@drawable/pic1" />
<!-- 没有焦点时的背景图片 -->
<item android:state_window_focused="false" android:drawable="@drawable/pic1" />
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item android:state_focused="true" android:state_pressed="true" android:drawable= "@drawable/pic2" />
<!-- 触摸模式下单击时的背景图片-->
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/pic3" />
<!--选中时的图片背景-->
<item android:state_selected="true" android:drawable="@drawable/pic4" />
<!--获得焦点时的图片背景-->
<item android:state_focused="true" android:drawable="@drawable/pic5" />
</selector>

4.引用mylist_view.xml文件
android:background="@drawable/mylist_view"
百度网友1f817e95
推荐于2016-12-06 · TA获得超过405个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:168万
展开全部
首先要用ImageButton,可以set它的颜色和图片(button.setImageResource)
比如说未点击时setImageResource(R.drawable.a)
再写个setOnClickListener,里面写点击之后
if(button.getResources().getDrawable(R.drawable.a))
setImageResource(R.drawable.b)
else if(图片为b)
setImageResource(R.drawable.a)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-02-28
展开全部
private ImageButton scanButton;
private boolean isIconChange = true;
scanButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (isIconChange) {
scanButton.setImageResource(R.drawable.check);
isIconChange = false;
} else {
scanButton.setImageResource(R.drawable.uncheck);
isIconChange = true;
}
}
});
测试成功。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式