2010-11-26 58 views
0

Je crée une application Flex 4 qui contient différents modules. L'application principale contient une feuille de style et les modules héritent des styles définis dans ce fichier.Flex - Les modules n'héritent pas des styles css lorsqu'ils sont construits avec ant

Cela fonctionne très bien lorsque les swf sont générés à l'aide de Flash Builder. Mais quand je le génère en utilisant le script Ant, les modules n'héritent pas les styles et tout semble bizarre.

I ajouté

isolate-styles="false" 

comme un paramètre supplémentaire à MXMLC, mais sa ne fonctionne pas :(

Quelqu'un peut-il s'il vous plaît fournir vos suggestions?

Répondre

0

Il s'est avéré être une solution simple. Tous les styles sauf les polices ont été hérités des modules.

mx|Module{ 
font-family : "Myriad Web"; 
} 

Doit être ajouté lors de la construction avec ant. Les swf générés par Flash Builder fonctionnaient correctement avec cette définition de style supplémentaire. j'avais fourni que

s|Application { 
font-family: "Myriad Web"; 
font-size: 12; 
font-anti-alias-type:advanced; 
} 

dans la feuille de style principale.

0

Je n'ai jamais eu à faire quoi que ce soit spécial en ce qui concerne les modules, flex et ANT mais j'ai peut-être eu de la chance, ou il y a autre chose dans votre script ant.Vous pouvez essayer d'être explicite et ajouter vos fichiers css via l'argument compilateur - [defaults-css-files filename , ... mais ce serait une méthode de force brute forçant les styles à être recompilés dans votre module. Une autre option pour faciliter le débogage consiste à appeler getMergedStyleDeclaration() à partir de votre module afin de pouvoir comparer la différence entre Flash Builder et la génération du fichier par ant. Je suis sûr que vous avez déjà lu ce document, mais juste au cas où, voici Adobe's information on modular applications.

Si cela ne vous aide pas, veuillez poster des informations plus détaillées sur vos scripts actuels et je peux vous aider à partir de là.