我有ImageView
。我使用imageView.setImageBitmap
将我的图片设置为ImageView
的背景。但它会将我的图像设置为ImageView
的来源(即android:src
),但它不会将我的图像设置为ImageView
的背景(即android:background
)。< / p>
当我使用imageView.setImageBitmap
时,看起来好像我使用imageView.setImageResource
而不是imageView.setBackgroundResource
。
如果我想使用imageView.setImageBitmap
将图片设置为背景,我该如何处理?我知道我可以通过制作自定义ImageView
来做到这一点。但是没有自定义ImageView
是否可能?如果有可能,请告诉我怎么做。
答案 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