使用imageView.setImageBitmap方法将位图设置为ImageView的背景

时间:2013-09-18 10:59:29

标签: android android-imageview

我有ImageView。我使用imageView.setImageBitmap将我的图片设置为ImageView的背景。但它会将我的图像设置为ImageView的来源(即android:src),但它不会将我的图像设置为ImageView的背景(即android:background)。< / p>

当我使用imageView.setImageBitmap时,看起来好像我使用imageView.setImageResource而不是imageView.setBackgroundResource

如果我想使用imageView.setImageBitmap将图片设置为背景,我该如何处理?我知道我可以通过制作自定义ImageView来做到这一点。但是没有自定义ImageView是否可能?如果有可能,请告诉我怎么做。

6 个答案:

答案 0 :(得分:97)

我已经测试过并且已经完成了

我认为你得到了Bitmap

所以你必须将Bitmap转换为BitmapDrawable

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

然后只需用下面的函数设置位图

  imageView.setBackgroundDrawable(ob);
通过这种方式,你可以做到这一点..

答案 1 :(得分:11)

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

Bitmap bitmap = ...;
ImageView imageView = ...;
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setBackground(drawable);

答案 2 :(得分:5)

试试这个..

使用位图&amp;创建drawable使用setBackgroundDrawable(Drawable d)方法进行imageview。

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

imageview.setBackgroundDrawable(d);

答案 3 :(得分:3)

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

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

此处uporder是您的drawable文件夹中存在的图像资源。

答案 4 :(得分:3)

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

ImageView imageView;
Bitmap bitmap;
Drawable drawable = new BitmapDrawable(getResources(),bitmap);
imageView.setImageDrawable(drawable);

答案 5 :(得分:1)

使用BitmapDrawable param调用setBackgroundDrawable