2009-11-04 2 views
0

dans MXML, il y a une classe Button que vous pouvez instancier comme ceci:Flex: l'évolution des styles de composants Flex AS3

<mx:Button id="something /> 

mais si vous vouliez construire dynamiquement ce en AS3 et l'ajouter à la Flex application dynamique, sans l'utilisation de composants (juste AS3), puis modifier les styles de Flex, par exemple, ici vous accédez aux propriétés du bouton et mettez-les:

var btn:Button = new Button(); 
btn.height = 50; 
btn.width = 75; 
btn.x = 100; 
btn.y = 40; 

mais comment iriez-vous de changer le style , Par exemple:

btn.downSkin = "something"; 
btn.color = "0xfffff"; 

Je suis une sorte de commencer à se pencher vers fabrication d'un composant flexible dans MXMLand que juste le rendre visible vrai/faux, mais je vous le fait que je crée un objet en AS3 puis détruisez-le quand je n'en ai plus besoin, puis créez-le à nouveau une fois nécessaire.

Répondre

3

This page a une solution au problème:

Définition et obtention des attributs de style dans ActionScript:
// setting a components styleName to reference a CSS class 
component.styleName = "highlight"; 

// set a Button's background color and font size 
submitButton.setStyle("backgroundColor", 0x000000); 
submitButton.setStyle("fontSize", 14); 

// get a TextArea's font family and color 
textArea.getStyle("fontFamily"); 
textArea.getStyle("color"); 
+0

ahhh ... je n'ai aucune idée de comment j'ai raté ça. Merci beaucoup Jason. –

+0

Je l'ai manqué aussi .. – Shashi

1

Vous pouvez utiliser CSS, que ce soit en ligne ou sous forme d'un fichier CSS externe. De cette façon, vous n'avez pas besoin de définir les propriétés manuellement chaque fois que vous créez un bouton.

/* CSS file */ 
Button { 
    borderColor: red; 
} 

Check out Styling Button control, by Peter deHaan (lire aussi les commentaires dans ce post).

+0

Oui, je pensais utiliser cela avec la classe CSSStyleDeclaration à la place. Je ne sais pas ce qui serait mieux. –

+0

Je préfère un fichier CSS externe plat pour mes styles génériques. Ensuite, si j'ai besoin de quelque chose d'un peu différent, j'utiliserais setStyle. Pas besoin de compliquer les choses. Rendez-le facile pour vous-même. –