2010-09-03 4 views
36

Ich habe einen 9-Patch-Bild-Datei, die wie folgt aussieht:Android: 9-Patch-Musterrapport statt Dehnung

alt text

Wenn ich es verwenden, erscheint es wie folgt aus:

alt text

Was ich eigentlich erreichen wollte, ist der komplette Punkt in der Mitte wiederholt statt gestreckt. Ich hoffe, dass es möglich ist.

+0

Haben Sie jetzt eine Lösung gefunden? – OneWorld

+0

Das wäre sehr praktisch! Ich bin gerade auf ein Problem gestoßen, bei dem ich dieses Verhalten gebraucht habe! – CaseyB

+1

Dies könnte helfen: http://androidblogger.blogspot.com/2009/01/how-to-have-tiled-background-cont.html –

Antwort

16

Ich denke, es ist nicht möglich, mit 9-Patch wiederholte Muster zu machen (nur bestimmten Bereich Strecken), vielleicht könnten Sie mehr darüber in offiziellen documentation

-3

Zuerst stellen Sie sicher, dass Sie Ihr 9 Patch-Image als your_image_name.9.png speichern und im Ordner res/drawable speichern. Dann in Ihrem XML-Format einfach den Layout-Hintergrund mit - Android: Hintergrund = "@ Drawable/your_image_name" und das sollte funktionieren. Wenn es immer noch nicht funktioniert, können Sie Ihre Layout-XML-Datei posten?

+0

Der 9-Patch funktioniert (siehe Bild oben). Aber anstatt sich zu strecken, würde ich gerne das Muster in der Mitte wiederholen lassen. – znq

15

...

Korrektur finden: Wenn Sie möchten, die orangefarbenen Punkte zu wiederholen, werden Sie mit 9 Patch nicht erfolgreich sein. 9 Patch kann nur das Teil strecken, von dem Sie ihm gesagt haben, dass es sich strecken und die restlichen Bereiche unberührt lassen soll. Es gibt keinen Wiederholungsmodus mit 9 Patch PNG.

Vielleicht möchten Sie in Bitmap-Klasse zu untersuchen. Es gibt einen tileMode, den Sie möglicherweise für Ihr Problem hier verwenden können.

<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
      android:src="@drawable/stripe_bg" 
      android:tileMode="repeat" 
      android:antialias="true" 
      android:dither="false" 
      android:filter="false" 
      android:gravity="left" 
     />