我经历了很多线程,但我还没有得到答案。
我正在以编程方式将图像设置为imageView
imageview.setBackgroundResource(R.Drawable.image);
如果我将图像设置为如上所述,如果我给出
,图像是否会被清除imageview.setImageDrawable(null);
imageview.setBackgroundDrawable(null)
的含义是什么?
之间有什么区别
imageview.setImageDrawable(null);
和
imageview.setImageBitmap(null);
和
imageview.setBackgroundDrawable(null);
答案 0 :(得分:11)
setBackgroundDrawable()
已弃用。您应该使用setBackground
代替。
基本上差异是参数。在setImageBitmap()
中,您必须传递一个Bitmap对象。在setImageDrawable()
中,您必须传递Drawable
个对象。 setBackground只是改变了imageview的背景。
imageview可以有背景和图像内容。如果您要定义背景并想要清除图像视图,则应使用setBackground(null)
。
答案 1 :(得分:2)
您是否尝试过:
imageview.setImageResource(android.R.color.transparent);
答案 2 :(得分:1)
我有同样的问题。这里,
imageview.setImageDrawable(null);
将清除ImageView
,
imageview.setImageBitmap(null);
将从ImageView
和
imageview.setBackgroundResource(R.Drawable.image);
会为您的路径设置图片,例如路径(R.Drawable.image
)
答案 3 :(得分:1)
有许多方法可以充气和放大清除ImageView
如果您使用了充气,
<强> imageView.setImageDrawable(ContextCompat.getDrawable(上下文,R.drawable.xyz)); 强>
然后清楚使用,
<强> imageView.setImageDrawable(空); 强>
如果您使用了充气,
<强> imageView.setBackgroundResource(R.drawable.xyz); 强>
然后清楚使用,
<强> imageView.setBackground(空); 强>
所以基本上如果你膨胀ImageDrawable,那么你删除ImageDrawable。 如果你膨胀背景,那么你删除背景。同样适用于ImageBitmap。
答案 4 :(得分:0)
setImageBitmap(Bitmap bm)
:设置Bitmap
作为此内容
ImageView
setImageDrawable(Drawable drawable)
:将drawable设置为
此ImageView