2012-10-19 14 views
8

Rzeczywisty obraz jest następujący:Android: 9-plasterkowy obraz nie rozciągający się zgodnie z oczekiwaniami

Czerwony boxex to miejsce, w którym zrobiłem 1 piksele w czerni. Nawet podgląd wygląda dobrze. Więc nie ma problemu z 9-plaster

ale obraz ja dostać na następny układ jest:

<ImageView 
    android:id="@+id/image_landing" 
    android:layout_width="fill_parent" 
    android:layout_height="50dp" 
    android:background="@drawable/loginheader" 
    android:contentDescription="@string/login_header" 
    /> 

enter image description here

się spodziewałem, logo, aby znajdować się po lewej i czarne kropki na prawo a reszta przestrzeni między nimi jest wypełniona kolorem szarym Wybrałem się na najwyższym

dziękuję

+0

Jest już tam w pytaniu. To miejsce, w którym ustawiłem imageView background –

+0

Nigdy nie poznałem wielu linii, które mają być użyte po tej samej stronie w patchu 9. Wypróbowałeś go za pomocą jednego. (Rozumiem, że podgląd jest w porządku, ale żeby go wyłączyć) http://radleymarx.com/blog/simple-guide-to-9-patch/ – Doomsknight

+0

Tak, próbowałem nawet z 1 znakiem po lewej stronie. ten sam wynik :(. Nawet z 2 znakami, podgląd jest doskonały, ponadto nie mam żadnego problemu z wysokością.Jeśli chodzi o szerokość, to jest rozciągnięte, ale dziwnie :( –

Odpowiedz

13

Czy Twój ImageView naprawdę większy niż twój 9-pak?
Jeśli nie, musisz zmienić scaleType jako defaut jest FIT_CENTER.

Użyj android:scaleType="fitXY" lub android:adjustViewBounds="true".

+1

Mój obraz 9-plasterkowy jest większy niż szerokość ekranu urządzenia To dlatego, że mam taki wynik ??? Czytam: obrazy w 9-plasterkach muszą być tak małe, jak to tylko możliwe, ponieważ mogą być rozciągnięte, ale nie mogą być zmniejszone, więc albo muszę sprawić, aby obraz był zbyt mały, a potem 9-plasterkowy to lub ustaw atrybuty zgodnie z sugestią ??? –

+0

adjustViewBounds zrobił to – user5155835

2

Wygląda na to, że twoja łatka jest większa niż ImageView, którą próbujesz umieścić. Spróbuj ustawić ImageView na wrap_content, aby sprawdzić, czy to rozwiązuje problem. Jeśli tak, spróbuj zmniejszyć rozmiar ekranu, powiększ ImageView lub ustaw właściwość scaleType na PCans.

+0

Mój 9-plasterkowy obraz jest większy niż szerokość ekranu urządzenia.To dlatego otrzymuję taki wynik ??? Czytam: 9-plasterkowe obrazy muszą być tak małe jak to tylko możliwe, ponieważ można je rozciągnąć, ale nie można ich skurczyć, więc albo muszę sprawić, aby obraz był zbyt mały, a następnie 9-go załatać lub ustawić atrybuty tak, jak sugeruje to komputer? –

Powiązane problemy