2012-05-10 9 views
6

Ich teste auf HTC Desire, die ein HDPI-Gerät ist. Das Problem ist klar, wenn Sie auf dem Bild sehen:9-Patch - 1px Grenze ist verschwommen

9-patch - 1px border is blurred

Und hier ist, wie mein 9-Patch (hergestellt mit Standard-9-Patch-Tool) aussieht (gezoomt):

9-patch - 1px border is blurred

Das linke Bild ist meine Photoshop-Datei, und das rechte Bild ist ein Screenshot von meinem Gerät. Wie Sie sehen können, gibt es einen großen Unterschied. Nehmen wir an, der Schatten ist nicht so wichtig, aber die verschwommene Grenze sieht schlecht aus.

Ist mein 9-Patch png falsch? Was kann ich tun, um eine schöne knackige 1px feste Grenze zu erzielen?

+1

Sie müssen etwas tun, wenn Sie das 9-Pfad-Werkzeug verwenden. Verwenden Sie 9-Pfad-Tool für jedes PNG in verschiedenen Drawable-Ordner? – goodm

+0

Ist Ihr 9-Patch richtig benannt als Dateiname.9.png? – ligi

+1

statt der Linie, setzen Sie einfach einen Punkt in vier Seiten Ihres Bildes in draw9patch. es wird klappen. –

Antwort

8

Sie sollten 9-Pfad-Tool für jedes PNG in verschiedenen Drawable-Ordner verwenden. Manchmal ist das Problem das Android versucht, das PNG zu konvertieren und die schwarzen Linien zu verwischen, was später Problem mit richtig angezeigt wird.

+2

+1 na zdrowie :) –

3

Um dieses Problem zu umgehen, legen Sie einfach den 9-Patch im Ordner "Drawable-no-dpi" ab. Dies ermöglicht ein Bild für alle Dichten zu haben. Und Android wird das Bild nicht berühren.

Das ist meistens das, was ich für meine Projekte mache, es sei denn, ich möchte wirklich zwischen den Dichten unterscheiden. In diesem Fall erstelle ich einen 9-Patch pro Dichte.

+0

Ja, das war die Lösung, wenn Sie nicht jeden Drawable in verschiedenen dpi setzen (wie Sie in diesen alten Kommentaren sehen können) . –