Flex:在 AS3 中更改 Flex 组件样式
Posted
技术标签:
【中文标题】Flex:在 AS3 中更改 Flex 组件样式【英文标题】:Flex: changing Flex component styles in AS3 【发布时间】:2010-12-13 04:53:42 【问题描述】:在 MXML 中,有一个 Button 类,您可以像这样实例化它:
<mx:Button id="something />
但是如果您想在 AS3 中动态构建它并将其动态添加到 Flex 应用程序,而不使用组件(仅 AS3)然后修改 Flex 的样式,例如,您可以在此处访问 Button 的属性并设置它们:
var btn:Button = new Button();
btn.height = 50;
btn.width = 75;
btn.x = 100;
btn.y = 40;
但是您将如何更改样式,例如:
btn.downSkin = "something";
btn.color = "0xfffff";
我开始倾向于在 MXML 中制作一个 flex 组件,而不仅仅是让它可见真/假,但我喜欢我在 AS3 中创建一个对象,然后在我不需要它时销毁它的事实不再,而不是在需要时再次创建它。
【问题讨论】:
【参考方案1】:您可以使用 CSS,内联或作为外部 CSS 文件。这样您就不必在每次创建按钮时手动设置属性。
/* CSS file */
Button
borderColor: red;
查看Styling Button control, by Peter deHaan(另请阅读该帖子中的 cmets)。
【讨论】:
是的,我正在考虑将它与 CSSStyleDeclaration 类一起使用。不确定哪个会更好。 我更喜欢扁平的外部 CSS 文件作为我的通用样式。然后,如果我需要一些不同的东西,我会使用 setStyle。没必要把事情复杂化。让自己轻松一点。【参考方案2】:This page有解决问题的办法:
在 ActionScript 中设置和获取 Style 属性:// 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" );
【讨论】:
啊……我不知道我是怎么错过的。非常感谢杰森。以上是关于Flex:在 AS3 中更改 Flex 组件样式的主要内容,如果未能解决你的问题,请参考以下文章