我从服务器下载图像并将其存储在位图对象中。我想将此图像设置为按钮的背景。但该按钮没有属性setImageBitmap。那么无论如何我可以用下载的位图图像设置按钮的背景吗?喜欢将位图转换为drawable?对不起,我是Android新手,请承担我的错误(如果有的话)。
P.S:我只想使用按钮控制。因为我想在每个按钮的底部有一些文字,我正在动态创建这些按钮。
答案 0 :(得分:18)
在android中将Bitmap
转换为drawable的最佳方法如下,
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
其中bitmap
是Bitmap
的名称。然后将drawable设置为Button
背景,如下所示,
btn.setBackground(drawable);
N.B:如果没有指定getResources()
作为第一个参数,则可能会在不同的屏幕密度上遇到不一致的图像大小调整。
了解更多信息请参阅此内容 http://developer.android.com/reference/android/graphics/drawable/BitmapDrawable.html
答案 1 :(得分:1)
只需使用BitmapDrawable。
Drawable drawable=new BitmapDrawable(contact_pic);
答案 2 :(得分:1)
将Bitmap
转换为BitmapDrawable
,就像这样
Drawable drawable = new BitmapDrawable(getResources(),your_bitmap);
然后将其设置为按钮的背景,
button.setBackgroundDrawable(drawable);
P.S。您也可以使用相同的内联方式
button.setBackgroundDrawable(new BitmapDrawable(getResources(),your_bitmap));
答案 3 :(得分:1)
这是怎么做的,我已多次使用过:
Drawable drawable = (Drawable)new BitmapDrawable(Bitmap);
Button button= new Button(this);
button.setBackground(drawable);