删除ImageButton的图像资源

时间:2012-08-06 20:15:18

标签: android drawable imagebutton

我有一个透明的ImageButton。单击时,按钮的ImageResource设置为drawable-hdpi文件夹中的drawable(基本上图像显示在透明ImageButton的顶部)。我正在使用ImageButton.setImageResource()方法来执行此操作。我的问题是,如何删除图像资源,以便再次只有透明图像按钮。当然,我需要能够在java中执行此操作,而不是XML。我尝试了以下无效的方法:ImageButton.setImageResource(null);我也环顾四周,找不到答案......提前感谢您的帮助。

编辑:谢谢大家的回答.PéterVarga的回答正是我所需要的,所以这就是我的目标。

4 个答案:

答案 0 :(得分:30)

尝试设置imageButton.setImageResource(android.R.color.transparent)

答案 1 :(得分:15)

imageButton.setBackgroundResource(0);

文档说:

  

资源应该引用Drawable对象,或者0来删除背景

答案 2 :(得分:0)

通常,人们在drawable文件夹中创建null_image.xml资源文件,并在需要清除背景时使用此资源:

null_image.xml内容:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android">
    <solid
        android:color="#0000" />
    <size
        android:width="1dp"
        android:height="1dp" />
</shape>

当你需要清除背景时 - 只需致电:

ImageButton.setImageDrawable(R.drawable.null_image);

不知道为什么CSimth没有发表他的评论作为回答......这对我来说是正确的

答案 3 :(得分:0)

我不确定它是否有效,但我认为你可以回收ImageButton的drawable。

尝试类似:

ImageButton imbBtn = (ImageButton) findBiewById(R.id.imbBtn);

imgBtn.getDrawable().recycle();

我以前从未尝试过这个,让我知道它是否适合你。