2010-12-17 10 views
1

Wenn ich das Standarddesign (Spark Default) in einer Flex 4 App auswähle, kann ich nur den chromeColor Wert ändern und das Thema wird die Grundfarbe des Themas für mich verändern.Gibt es eine Möglichkeit, ein Flex 4-Thema farblich zu variieren?

Gibt es spezielle Tricks zum Erstellen eines neuen Themas, das das gleiche Konzept verwendet? Was ist, wenn das neue Thema ein grafischeres Thema ist?

Ich möchte eine Reihe von Basisthemen für meine Anwendung anbieten, wobei jedes Thema eigene Farbvarianten hat.

Antwort

1

Wenn Sie nur suchen, wie Sie Themen erstellen können Sie einfach Flex Create Theme google und Sie sollten Ihre Antwort bekommen. Ehrlich gesagt, nachdem ich ein paar verschiedene Methoden benutzt habe, um "Themen" zu bekommen, weiß ich nicht, dass das Erledigen eines swc-basierten Themas die meiste Zeit notwendig oder lohnenswert ist. Grundsätzlich besteht die Option darin, mehrere CSS-Dateien zu erstellen, die Sie zur Kompilierzeit ändern. Wenn Sie sie zur Laufzeit ändern möchten, können Sie das CSS in eine SWF kompilieren (klicken Sie im Flash-Generator mit der rechten Maustaste auf die CSS und kompilieren Sie dann mit swf) Sie können diese zur Laufzeit laden http://livedocs.adobe.com/flex/3/html/help.html?content=styles_10.html Ich persönlich mache mehr Komponentenentwicklung und weniger Styling, aber von den Menschen, mit denen ich hauptsächlich beschäftigt Styling habe ich große Dinge über die Verwendung von SASS gehört (google es, nimmt im Grunde einige programmatische Stil CSS und macht eine CSS-Datei für Sie, kann aber alle möglichen coolen Sachen machen), um das alles organisiert zu halten und einfach zu aktualisieren. Vielleicht möchten Sie auch diesen relativen Speicherort in Ihrem Dateisystem überprüfen, um zu sehen, was sie getan haben, um das Halo-Theme zu erstellen:

\ Programme \ Adobe \ Flex Builder 3 Plug-in \ sdks \ 3.4 \ frameworks \ themes (SDK-Version hängt davon ab, was Sie heruntergeladen oder installiert haben)

+0

Die Frage ist spezifisch für Spark (Flex 4). –

+0

Viele der Themen Sachen auf Google bezieht sich immer noch auf Flex 3 und ehrlich gesagt, Spark "Skinning" ist eine verdammt viel Arbeit, auch wenn Sie einige anständige Anweisungen finden (die tendenziell nicht sehr praktisch sein). – Manius

1

Der Trick besteht darin, sicherzustellen, dass Ihre benutzerdefinierten Skins von SparkSkin und nicht nur von der Skin-Klasse erweitert werden. SparkSkin verfügt über eine Logik, die chromeColor auf alle Elemente der Skin anwendet (mit Ausnahme der in Ihrem überschriebenen Getter "colorizeExclusions" zurückgegebenen Elemente), indem eine Farbtransformation angewendet wird. Sehen Sie sich das standardmäßige ButtonSkin für ein typisches Beispiel für das Erstellen einer Komponenten-Skin an, die das SparkSkin-Verhalten chromeColor nutzt.

In Bezug auf die Verwendung von grafischen Elementen in Ihrer Haut, nur sicherstellen, dass sie Graustufen sind und die chromeColor wird nur gut angewendet werden.

Hoffnung, das hilft.