[Solved] Converting bitmap to drawable in Android

I’m downloading the image from server and storing it in bitmap object. I want to set this image as background for button. But the button doesn’t have the property setImageBitmap. So is there anyway I can set the background of button with the downloaded bitmap image? Like by converting the bitmap to drawable?

Sorry, I’m new to Android, please bear with my mistakes (if any).

P.S : I want to use button control only. Because I want some text at the bottom of each buttons and I’m creating these buttons dynamically.

Solution #1:

The best way to convert a Bitmap to drawable in android is as follows,

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

where bitmap is the name the Bitmap. Then set the drawable as your Button background as follows,

btn.setBackground(drawable);

N.B: Without specifying getResources() as the first argument, you may experience inconsistent image sizing across different screen densities.

for more info refer this
http://developer.android.com/reference/android/graphics/drawable/BitmapDrawable.html

Respondent: user3522370
Solution #2:

Simply use BitmapDrawable.

Drawable drawable=new BitmapDrawable(contact_pic); 
Respondent: Spring Breaker
Solution #3:

Convert Bitmap to BitmapDrawable like this

Drawable drawable = new BitmapDrawable(getResources(),your_bitmap);

and then set it as background to button as ,

button.setBackgroundDrawable(drawable);

P.S. You can also do the same inline as ,

button.setBackgroundDrawable(new BitmapDrawable(getResources(),your_bitmap));
Respondent: Amresh
Solution #4:

This is how to do it, I’ve used several times:

Drawable drawable = (Drawable)new BitmapDrawable(Bitmap);    
Button button= new Button(this);    
button.setBackground(drawable); 
Respondent: AndyN
The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .

Leave a Reply

Your email address will not be published.