2011-08-28 11 views

Odpowiedz

34

setBackgroundResource służy do ustawiania tła ImageView.
setImageResource służy do ustawiania obrazu src w ImageView. Dane:

ImageView iv = new ImageView(this); 

Następnie:

iv.setBackgroundResource(R.drawable.imagedata); 

pasuje do obrazu dla całego tła. Oznacza to, że rozciągnie obraz, aby całkowicie wypełnić to tło, nawet jeśli rozmiar obrazu jest zbyt mały.

imageView.setImageResource(R.drawable.imagedata); 

Zajmie tylko rozmiar obrazu w ImageView. Do tego chcesz również ustawić

android:layout_width="wrap_content" 
android:layout_height="wrap_content" 

dla ImageView. Jeśli rozmiar obrazu jest mniejszy niż ImageView, pozostałe obramowanie pozostanie puste, a tło zostanie wyświetlone.

+0

Ale musisz ustawić niektóre padding czy coś? – Lukap

+0

Ustaw podkładkę z jakiego powodu? Pomyśl o tym jako o dwóch warstwach: tło jest z tyłu, a źródło działa jako pierwszy plan. Jeśli źródło obrazu nie jest przezroczyste, nie będzie widać tła. –

+4

Aby uzyskać białą ramkę wokół obrazu src, należy ustawić dopełnienie widoku obrazu i ustawić biały kolor jako zasób tła. W przeciwnym razie nie ma potrzeby wypełniania. –

3

SetBackdroundResource służy do rysowania lub koloru, który chcesz ustawić w tle widoku obrazu, a twój setImageResource jest podobny do wyświetlania na nim.

, więc setImageResource służy do dodania dowolnego zasobu do przedniej strony twojego obrazu. spróbuj tego przykładu i spójrz na różnicę. Android Gallery, ImageView Example . Jest to efekt dwuwarstwowy: backside (setBackgroundResource) i frontside (setImageResource).

+0

Twój link do "androidpeople.com" jest martwy. Ale mogę sobie wyobrazić, co masz na myśli przez "efekt dwuwarstwowy". Dzięki! – winklerrr

0

setBackgroundResource Ustawia obraz tła w ImageView. Atrybut XML: android:background

setImageResource Ustawia obraz wyświetlany w ImageView. Atrybut XML: android:src