2012-10-19 5 views
8

Das eigentliche Bild erwartet, ist dies:Android: 9-Patch-Bild Stretching nicht als

die roten boxex sind, wo ich 1 px schwarz Gleichen gemacht. Sogar die Vorschau ist in Ordnung. Also kein Problem mit 9-Patch

aber das Bild, das ich für das folgende Layout erhalten ist:

<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

ich erwartet hatte, das Logo auf der linken und schwarze Punkte auf der rechten Seite zu sein und der Rest des Raumes zwischen ihnen ist mit grauer Farbe gefüllt i auf der Oberseite

ausgewählt

Danke

+0

Es ist schon da in der Frage. Dort setze ich den imageView Hintergrund –

+0

Ich habe nie mehrere Linien auf der gleichen Seite in einem 9-Patch verwendet. Hast du es mit nur einem ausprobiert? (Ich bekomme, dass die Vorschau in Ordnung ist, aber nur um es auszuschließen) http://radleymarx.com/blog/simple-guide-to-9-patch/ – Doomsknight

+0

Ja, ich versuchte sogar mit nur 1 Markierung auf der linken Seite. Das gleiche Ergebnis :(. Auch mit 2 Marken, ist die Vorschau perfekt. Außerdem habe ich kein Problem mit der Höhe. In Bezug auf die Breite wird es gestreckt, aber seltsam :( –

Antwort

13

ist Ihre ImageView wirklich größer als dein 9patch?
Wenn nicht, müssen Sie scaleType ändern, da defaut FIT_CENTER ist.

Verwenden Sie android:scaleType="fitXY" oder android:adjustViewBounds="true".

+1

Mein 9-Patch Image ist größer als das Gerät Bildschirm in der Breite Das ist der Grund, warum ich so ein Ergebnis bekomme. Ich lese: 9-Patch-Bilder müssen so klein wie möglich sein, da sie gedehnt werden können, aber nicht verkleinert werden können. Also entweder muss ich das Bild zu klein machen und dann 9-patch oder setze Attribute wie du vorgeschlagen hast ??? –

+0

adjustViewBounds hat es gemacht – user5155835

2

Es sieht so aus, als wäre Ihr 9-Patch größer als das ImageView, in das Sie es einfügen möchten. Versuchen Sie, ImageView auf wrap_content zu setzen, um festzustellen, ob das Problem behoben wurde. Wenn dies der Fall ist, versuchen Sie, den 9-Patch kleiner zu machen, ImageView größer oder setzen Sie den scaleType auf pcans.

+0

Mein 9-Patch-Bild ist größer als der Gerätebildschirm in der Breite.Das ist, warum ich ein solches Ergebnis bekomme ??? Ich lese: 9-Patch-Bilder müssen so klein sein wie möglich, weil sie gestreckt werden können, aber nicht geschrumpft werden können, entweder muss ich das Bild zu klein machen und dann 9-patchen oder Attribute als pcans vorschlagen ??? –

Verwandte Themen