2010-12-04 18 views
2

Ich lese article (Android Developers) auf 9Patch PNG in Android. Aber ich bekomme nicht, was ist der wirkliche Nutzen davon? Wenn ich Gradient Image verwende, verhält es sich genauso wie 9Patch PNG.Was ist die Verwendung von 9Patch PNG?

Ich hatte Diskussion mit meinem Grafikdesigner, er sagte mir, dass es dasselbe wie Bildwiederholung in CSS ist. Ist es so ?

-Danke

+1

Sie sollten eine Antwort akzeptieren. – Snailer

Antwort

5

Nein, es ist nicht das Gleiche.

Denken Sie an eine Schaltfläche, die Sie ein neues Aussehen geben möchten. Mit der 9patch-Methode entwerfen Sie einfach das Design Ihrer Schaltfläche in einem Bildbearbeitungsprogramm wie z. Photoshop und speichern Sie es in eine PNG-Datei. Danach öffnen Sie es mit dem 9patch png-Tool des Android SDK und definieren die Bereiche, die dehnbar und skalierbar sein sollen. Auf diese Weise können Sie ein neues Schaltflächen-Design auf eine Schaltfläche beliebiger Größe anwenden, da das Design auf jede Größe skaliert werden kann, ohne die Ecken und Ränder zu skalieren, da sie als nicht dehnbar markiert wurden. Wenn du normales PNG verwenden würdest, wird das ganze PNG auf die Größe des Buttons skaliert, was wahrscheinlich sehr hässlich aussehen wird.

Natürlich müssen Sie auf Designs mit einem Gradientenhintergrund achten, da diese abhängig von der Art des Gradienten (z. B. linear) möglicherweise nur in der Ausrichtung (horizontal oder vertikal) dehnbar sind.

Auch wenn das CSS-Bildwiederholungsattribut dem 9patch png sehr ähnlich ist, da letzteres einfacher zu verwenden ist, da Sie es nur für eine Schaltfläche definieren und anwenden. Mit CSS müssen Sie viel mehr darüber nachdenken, wie Sie eine Schaltfläche skalierbar machen. Denk an einen Button mit runden Ecken, wie würdest du das mit CSS machen? Das CSS-Bildwiederholungsattribut alleine würde den Job erledigen, Sie würden einige definieren, dass die Ecken immer gleich bleiben und nicht skaliert oder wiederholt werden sollten.

2

Ich habe nicht die Beziehung mit Gradientenbild erhalten.

9-Patch-Bild ist eine bequeme Möglichkeit, das einzige Bild für Fälle zu verwenden, in denen Sie wirklich nicht wissen, was tatsächliche Dimensionen sein werden (anstatt unterschiedliche Ressourcenbilder für jeden erdenklichen Fall). Der Artikel enthält ein Beispiel für die Verwendung desselben 9-Patch-Bildes für Schaltflächen unterschiedlicher Größe (aufgrund der unterschiedlichen Textgröße). Es sieht also ziemlich scharf aus, nicht wahr? Und ja, natürlich können Sie Gradient Image zum Erstellen eines 9-Patch-Bildes verwenden.