在Imageview中清除图像

时间:2013-08-05 10:16:50

标签: android bitmap imageview drawable

我经历了很多线程,但我还没有得到答案。

我正在以编程方式将图像设置为imageView

imageview.setBackgroundResource(R.Drawable.image);

如果我将图像设置为如上所述,如果我给出

,图像是否会被清除
imageview.setImageDrawable(null);

imageview.setBackgroundDrawable(null)的含义是什么?

之间有什么区别
imageview.setImageDrawable(null);

imageview.setImageBitmap(null);

imageview.setBackgroundDrawable(null);

5 个答案:

答案 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

清除ImageBitmap
imageview.setBackgroundResource(R.Drawable.image);

会为您的路径设置图片,例如路径(R.Drawable.image

答案 3 :(得分:1)

有许多方法可以充气和放大清除ImageView

  1. 如果您使用了充气,

    <强> imageView.setImageDrawable(ContextCompat.getDrawable(上下文,R.drawable.xyz));

    然后清楚使用,

    <强> imageView.setImageDrawable(空);

  2. 如果您使用了充气,

    <强> imageView.setBackgroundResource(R.drawable.xyz);

    然后清楚使用,

    <强> imageView.setBackground(空);

  3. 所以基本上如果你膨胀ImageDrawable,那么你删除ImageDrawable。  如果你膨胀背景,那么你删除背景。同样适用于ImageBitmap。

答案 4 :(得分:0)

setImageBitmap(Bitmap bm):设置Bitmap作为此内容  ImageView

setImageDrawable(Drawable drawable):将drawable设置为  此ImageView

的内容