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

我有一个ImageView 。 我使用imageView.setImageBitmap将我的图像设置为ImageView背景。 但它把我的图像设置为ImageView的源代码(即android:src ),但是它不会将图像设置为ImageView的背景(即android:background )。

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

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

Solutions Collecting From Web of "使用imageView.setImageBitmap方法将位图设置为ImageView的背景"

我已经testing完成了

我想你正在获取位图

所以你必须将位图转换为BitmapDrawable

喜欢

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

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

  imageView.setBackgroundDrawable(ob); 

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

尝试下面的代码来设置自己的位图作为背景。

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

尝试这个..

使用位图创builddrawable&为imageview使用setBackgroundDrawable(Drawable d)方法。

 Drawable d = new BitmapDrawable(getResources(),bitmap); imageview.setBackgroundDrawable(d); 

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

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

这里uporder是一个图像资源存在于你的drawable文件夹中。

我更喜欢使用这个,因为它不被弃用,它在android的低版本中工作。

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

用BitmapDrawable参数调用setBackgroundDrawable