使用 ActionScript 2.0 组件 |
|
|
|
| 自定义组件 > 使用样式自定义组件的颜色和文本 > 设置容器上的继承样式 | |||
继承样式 是从文档的 MovieClip 层次结构中的父组件继承其值的样式。如果未在实例、自定义或类级别设置文本或颜色样式,则 Flash 会在 MovieClip 层次结构中搜索该样式值。因此,如果在容器组件上设置样式,容器组件将继承这些样式设置。
以下样式是继承样式:
fontFamilyfontSizefontStylefontWeighttextAligntextIndentthemeColor 是继承样式,而 alternatingRowColors 不是)样式管理器向 Flash 告知样式是否继承了它的值。附加样式也可以在运行时作为继承样式添加进来。有关详细信息,请参阅《ActionScript 2.0 组件语言参考》中的"StyleManager 类"。
|
注意 |
Flash 组件和 HTML 页面在实现层叠样式表时的一个主要不同之处是 Flash 组件不支持 CSS |
继承的样式具有高于全局样式的优先级。有关样式优先级的列表,请参阅在同一个文档中使用全局、自定义和类样式。
下面的示例演示继承样式如何与 Accordion 组件一起使用,Accordion 组件在 Flash 中可用。
创建具有由各个 Accordion 窗格中的组件继承的样式的 Accordion 组件:将组件拖到库中后,这些组件即可在运行时供脚本使用。
var section1 = accordion.createChild(mx.core.View, "section1", {label: "First Section"});
var section2 = accordion.createChild(mx.core.View, "section2", {label: "Second Section"});
var input1 = section1.createChild(mx.controls.TextInput, "input1");
var button1 = section1.createChild(mx.controls.Button, "button1");
input1.text = "Text Input";
button1.label = "Button";
button1.move(0, input1.height + 10);
var input2 = section2.createChild(mx.controls.TextInput, "input2");
var button2 = section2.createChild(mx.controls.Button, "button2");
input2.text = "Text Input";
button2.label = "Button";
button2.move(0, input2.height + 10);
以上代码将两个子项添加到 Accordion 组件,然后为每个子项加载一个 TextInput 控件和一个 Button 控件,本示例使用这些控件来演示样式继承。
accordion.setStyle("fontStyle", "italic");
请注意,Accordion 组件上的 fontStyle 设置不仅影响 Accordion 文本本身,还影响 Accordion 组件内与 TextInput 和 Button 组件关联的文本。
|
|
|
|