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