2013-04-04 4 views
9

Ich versuche, eine Callout-Grafik in Android zu erstellen. Ich bin nicht mit der Idee eines 9-Patch-Zeichens verheiratet, aber ich denke, es ist der richtige Weg. Ich versuche im Wesentlichen einen Knopf mit einer kleinen Noppe an der Unterseite zu machen. Ich möchte, dass der Nub unabhängig von der Größe des Inhalts zentriert wird. Hier zeigen einige Beispiel Grafiken, was aussehen Ich werde für:Kann ein 9-Patch für eine Callout-Grafik gezeichnet werden?

Short callout Long callout

Gibt es eine Möglichkeit, den Boden wenig Noppe zu halten zentrierten einen 9-Patch ziehbar mit?

+1

Der Schlüssel ist daran zu erinnern ist, dass die dehnbaren Bereiche (definiert durch Ihre schwarzen Linien auf den oberen und linken Seite) werden proportional zu ihren Längen gestreckt. Wie die angenommene Antwort besagt, stellen Sie sicher, dass die Längen auf der Oberseite übereinstimmen, um sicherzustellen, dass der "Nub" zentriert bleibt. Sie können das [draw 9-patch tool] (http://developer.android.com/tools/help/draw9patch.html) verwenden, um Ihre 9 Patches aus Ihren rohen Ressourcen zu erstellen und sicherzustellen, dass sie sich wie gewünscht ausdehnen. (BTW lustig zu sehen, jemand, den ich eigentlich hier weiß) –

Antwort

8

Gibt es eine Möglichkeit, den unteren kleinen Nub mit einem 9-patch-Zeichen zentriert zu halten?

Ja, absolut. In der Tat ist ein 9-Patch definitiv der richtige Weg dafür.

Machen Sie einfach Ihren 9-Patch zwei dehnbare Regionen: eine links auf der Nub und eine auf der rechten Seite. Sie sollten sicherstellen, dass beide Regionen gleich "groß" sind. Mit anderen Worten: Die zwei horizontalen schwarzen Linien, die die horizontal dehnbaren Regionen definieren, sollten die gleiche Länge haben - das wird die Noppe in der horizontalen Mitte bleiben lassen.

Hier sind zwei Beispiele von Bildern, die Teil der mapview-balloons Bibliothek sind:

enter image description hereenter image description here

+0

Perfekt! Vielen Dank. –