2014-04-16 17 views
6

Pobierałem obraz z serwera i zapisuję go w obiekcie bitmapowym. Chcę ustawić ten obraz jako tło dla przycisku. Ale przycisk nie ma właściwości setImageBitmap. Czy istnieje możliwość ustawienia tła przycisku z pobranym obrazem bitmapowym? Na przykład konwertując bitmapę do rysowania? Przepraszam, jestem nowy na Androida, proszę o moje błędy (jeśli są).Konwertowanie bitmapy do rysowania w systemie Android

P.S: Chcę używać tylko przycisków sterujących. Ponieważ chcę trochę tekstu na dole każdego przycisku i tworzę te przyciski dynamicznie.

+0

Konwersja 'Bitmap' do' BimapDrawable' –

+1

możliwe duplikat [Jak przekonwertować bitmapę na Drawable w Androidzie?] (Http://stackoverflow.com/questions/2415619/how-to-convert-a-bitmap-to-drawable-in-android) –

Odpowiedz

15

Najlepszy sposób przekonwertować Bitmap do rozciągliwej w android jest następujący,

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

gdzie bitmap jest nazwa Bitmap. Następnie ustaw rozciągliwej jako Button tle następująco,

btn.setBackground(drawable); 

N.B: Bez określania getResources() jako pierwszy argument, można doświadczyć niespójny obraz wielkości w różnych gęstościach ekranem.

uzyskać więcej informacji patrz ten http://developer.android.com/reference/android/graphics/drawable/BitmapDrawable.html

0

Konwersja Bitmap do BitmapDrawable jak ten

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

a następnie ustawić go jako tło przycisku, co do,

button.setBackgroundDrawable(drawable); 

PS: Można również zrobić to samo jako inline,

button.setBackgroundDrawable(new BitmapDrawable(getResources(),your_bitmap)); 
1

to jak to zrobić, użyłem kilka razy:

Drawable drawable = (Drawable)new BitmapDrawable(Bitmap);  
Button button= new Button(this);  
button.setBackground(drawable); 
+0

Metoda setBackground jest dostępna tylko od Poziom interfejsu API 16. – user3522370

+0

Użyłem tego kodu na poziomie interfejsu API 10 – Minixuru

+0

Jak używać przekonwertowanego wyciągnięcia w setCompoundDrawablesWithIntri nsicBounds (int, int, int, int) method? Ponieważ wymaga wszystkich parametrów. – user3522370

Powiązane problemy