38

我有一个ImageView. 我imageView.setImageBitmap用来将我的图像设置为背景ImageView。但它将我的图像设置为ImageView's source (ie android:src) ,但它没有将我的图像设置为ImageView's background (ie android:background)。

当我使用imageView.setImageBitmap时,它看起来好像我imageView.setImageResource没有使用过imageView.setBackgroundResource

如果我想将图像设置为背景,我该如何处理imageView.setImageBitmap。我知道我可以通过定制来做到这一点ImageView。但是没有定制有可能ImageView吗?如果可能的话,请让我知道该怎么做。

4

6 回答 6

113

我已经测试过了

我认为您正在获取位图

所以你必须将 Bitmap 转换为 BitmapDrawable

喜欢

  BitmapDrawable ob = new BitmapDrawable(getResources(), bitmap)

然后只需使用以下功能设置位图

  imageView.setBackground(ob);

通过这种方式你可以做到..

于 2013-09-18T11:19:36.753 回答
11

尝试以下代码将您自己的位图设置为背景。

Bitmap bitmap = ...;
ImageView imageView = ...;
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setBackground(drawable);
于 2013-09-18T11:09:31.517 回答
5

尝试这个..

使用位图创建可绘制对象并为 imageview 使用 setBackgroundDrawable(Drawable d) 方法。

Drawable d = new BitmapDrawable(getResources(),bitmap);

imageview.setBackgroundDrawable(d);
于 2013-09-18T11:09:53.550 回答
3

请使用以下行设置图像背景。

imageview.setBackground(getResources().getDrawable(R.drawable.uporder));

这里 uporder 是您的可绘制文件夹中存在的图像资源。

于 2013-09-18T11:04:48.873 回答
3

我更喜欢使用它,因为它没有被弃用,它适用于较低版本的 android。

ImageView imageView;
Bitmap bitmap;
Drawable drawable = new BitmapDrawable(getResources(),bitmap);
imageView.setImageDrawable(drawable);
于 2013-09-20T16:21:10.280 回答
1

使用 BitmapDrawable 参数调用 setBackgroundDrawable

于 2013-09-18T11:03:35.373 回答