繁体   English   中英

如何在Android中更改ImageButton的背景图像

[英]How to change background image of a ImageButton in android

我面临的情况是:1.首先,我必须将ImageButton的背景图像设置为默认图像。 2.现在在运行时基于某种条件,我必须将ImageButton的背景图像更改为其他图像。

我已经尝试过了,但是它不起作用,背景图像仍然是默认图像,并且没有变化。

 btn.invalidateDrawable((Drawable)getResources().getDrawable(R.drawable.info));
                btn.setBackgroundDrawable((Drawable)getResources().getDrawable(R.drawable.infonewred));

我怎样才能实现这个目标。

您是否尝试过btn.setBackgroundResource(R.drawable.infonewred)

我知道那是旧的,但是我也正在寻找解决方案,因为我也在寻找那个,正确的答案是使用setImageResource ,所以代码将像这样:

btn.invalidateDrawable(getResources().getDrawable(R.drawable.info));
btn.setImageResource(R.drawable.infonewred);

尝试方法setImageResource

例如:

if(someCondition()){
   btn.setImageResource(R.drawable.info);
} else {
   btn.setImageResource(R.drawable.infonewred);
}

我建议您通过android:background直接在XML-Layout-File中设置“默认” android:background 如果必须在运行时中更改背景,只需使用btn.setBackgroundResource(R.drawable.imagename);

在活动文件中,您可以编写btn.setBackgroundResource(R.drawable.sliderr);

要么

在您的xml布局文件中,您可以向您添加额外的一行按钮xml代码android:src =“ @ drawable / sliderr”

只需尝试以下代码即可在运行时进行更改,并针对布局xml中的默认视图集背景属性进行更改:

if(yourCondition)
    btn.setBackgroundResource(R.drawable.infonewred);

由于您没有提供xml,所以我想您正在为sButton提供src ..因此,要更改图像的来源,您正在做的是更改将不可见的图像背景,因为它是对您可见..因此更改源..

做这个。

btn.setImageDrawable()

而不是..

btn.setBackgroundDrawable()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM