2012-12-18 20 views
18

Czy możliwe jest, że mój ImageView będzie pasował do wszystkich rozmiarów ekranu bez rozciągania obrazu?Dopasowanie ImageView bez rozciągania obrazu

Próbowałem wszystkich rodzajów skalę zmieniając go do tła i src z fill_parent>wrap_content

ale jednak. jeśli obraz nie jest mniejszy to wygląda po prostu rozciągnięty ..

przykład:

<ImageView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:scaleType="centerInside" 
    android:adjustViewBounds="true" 
    android:background="@drawable/background" /> 

<ImageView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:scaleType="fitXY" 
    android:adjustViewBounds="true" 
    android:background="@drawable/background" /> 

te 2 pasuje do szerokości, ale obraz jest rozciągnięty .. ale kiedy go zmienić na SRC obraz jest tylko na środku i mały.

+0

prosisz o coś, co jest najbardziej oczywiście niemożliwe. O ile oczywiście obraz i ekran/widok, który chcesz zapełnić, mają identyczne proporcje. – mathheadinclouds

Odpowiedz

31

Brak wbudowanego typu skali, który umożliwia automatyczną zmianę skali obrazu i zachowanie proporcji w stanie nienaruszonym. Jedynym typem skalowania skalującym jest fitXY, który nie będzie respektował współczynnika kształtu, ponieważ sam się o tym dowiedziałeś.

W związku z powyższym, ten temat był już odwiedzany więcej niż jeden raz. Wystarczy popatrzeć na niektóre z zaproponowanych sugestii podobnych pytań:

jestem sure'll być hałdy więcej, więc może warto przy użyciu pole wyszukiwania u góry.

+0

przegłosowano dzięki MH ... arghh. wydaje się, że to niemożliwe. = _ = naprawić w xml ~ dostosowanie szerokości do rozmiaru ekranu naprawdę rozciąga obraz – NoobMe

+0

i zaakceptowałem twoją odpowiedź. dowiedziałem się w innym temacie, że nie można zrobić to tylko na xml .. musisz naprawić to w java .. dziękuję ~ – NoobMe

1

Można to zrobić po prostu dodając tylko jeden przypisuje ImageView

android:adjustViewBounds="true" 
Powiązane problemy