4

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

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

imageview.setBackgroundResource(R.Drawable.image);

如果我将图像设置为上述,如果我给出,图像会被清除吗?

imageview.setImageDrawable(null);

什么imageview.setBackgroundDrawable(null)意思?

和有什么区别

imageview.setImageDrawable(null);

imageview.setImageBitmap(null);

imageview.setBackgroundDrawable(null);
4

5 回答 5

11

setBackgroundDrawable()已弃用。你应该setBackground改用。

基本上区别在于参数。在setImageBitmap()你必须传递一个 Bitmap 对象。在setImageDrawable()你必须传递一个Drawable对象。setBackground 只是改变图像视图的背景。

imageview 可以有背景和图像内容。如果您正在定义背景并想要清除图像视图,则应使用setBackground(null).

于 2013-08-05T10:22:12.000 回答
3

您是否尝试过:

imageview.setImageResource(android.R.color.transparent);
于 2013-08-05T10:46:44.670 回答
1

有很多方法可以膨胀和清除 ImageView

  1. 如果您使用过充气,

    imageView.setImageDrawable(ContextCompat.getDrawable(context,R.drawable.xyz));

    然后清除使用,

    imageView.setImageDrawable(null);

  2. 如果您使用过充气,

    imageView.setBackgroundResource(R.drawable.xyz);

    然后清除使用,

    imageView.setBackground(null);

所以基本上如果你膨胀 ImageDrawable,然后你删除 ImageDrawable。如果你膨胀背景,那么你就会删除背景。对于 ImageBitmap 也是如此。

于 2017-08-18T20:34:27.063 回答
1

我有同样的问题。这里,

imageview.setImageDrawable(null);

将清除 a 的背景ImageView

imageview.setImageBitmap(null);

将从中清除 ImageBitmap ImageView,并且

imageview.setBackgroundResource(R.Drawable.image);

将为您的路径设置图像,例如您的路径 ( R.Drawable.image)

于 2016-12-24T06:41:16.917 回答
0

setImageBitmap(Bitmap bm): 设置 aBitmap作为 this 的内容 ImageView

setImageDrawable(Drawable drawable):设置一个drawable作为这个的内容ImageView

于 2013-08-05T10:26:39.630 回答