使用样式自定义组件的颜色和文本

Flash 为每个 UI 组件都提供了您可以编辑的样式属性。在每个特定组件的文档中,您将会看到一个列出该组件的可修改样式的表(例如,您可以在《ActionScript 2.0 组件语言参考》的"对 Accordion 组件使用样式"中看到 Accordion 组件的样式表。此外,UI 组件继承 UIObject 类的 setStyle()getStyle() 方法(请参阅《ActionScript 2.0 组件语言参考》中的"UIObject.setStyle()""UIObject.getStyle()")。对于一个组件实例,您可以使用 setStyle()getStyle() 方法来设置和获取样式属性值,如后面的在组件实例上设置样式中所示。

注意

您不能设置介质组件的样式。

使用样式声明和主题

从更广泛的意义上来说,样式在样式声明 中进行组织,您可以在声明中跨越多个组件实例来控制样式属性值。样式声明是由 CSSStyleDeclaration 类创建的对象,它的属性是您可以指定给组件的样式设置。ActionScript 中的样式声明模仿"层叠样式表" (CSS) 影响 HTML 页面的方式进行建模。对于 HTML 页面,您可以创建一个样式表文件,用以定义一组 HTML 页面中内容的样式属性。对于组件,您可以创建一个样式声明对象,并将样式属性添加到该样式声明对象以控制组件在 Flash 文档中的外观。

而且,样式声明在主题 中组织。Flash 为组件提供了两个可视主题:"光晕"(HaloTheme.fla) 和"范例"(SampleTheme.fla)。"主题"是控制文档中组件外观的一组样式和图形。每个主题都为组件提供一些样式。每个组件使用的样式部分取决于文档使用的主题。某些样式(如 defaultIcon)用于与之相关联的组件,与文档应用的主题无关。而其它样式(如 themeColorsymbolBackgroundColor)仅在使用了相应的主题时才用于组件。例如,只有在使用"光晕"主题时才使用 themeColor;只有在使用"范例"主题时才使用 symbolBackgroundColor。要确定可以为组件设置哪些样式属性,您必须知道指定给该组件的主题。《ActionScript 2.0 组件语言参考》中每个组件的样式表指示每个样式属性是应用于一个还是全部两个提供的主题。(有关详细信息,请参阅关于主题。)

理解样式设置

在使用样式或样式声明时,您会注意到您能以不同的方式(在全局、主题、类、样式声明或样式属性级别)设置样式。而且,某些样式属性可能会继承父组件(例如,Accordion 子面板可能会继承 Accordion 组件的字体处理)。以下是关于样式行为的几个要点:

主题相关性 对于特定的组件,您可以设置的样式属性取决于当前的主题。默认情况下,Flash 组件设计为使用"光晕"主题,但 Flash 还提供了"范例"主题。因此,当您查看样式属性表(如《ActionScript 2.0 组件语言参考》的"对 Button 组件使用样式"中 Button 组件的样式属性表)时,请注意哪个主题支持您想要的样式。该表将指示"光晕"、"范例"或"两者都是"(意思是两个主题都支持该样式属性)。要更改当前主题,请参阅切换主题

继承 您不能在 ActionScript 中设置继承。组件子级设计为可以继承或不继承父组件的样式。

全局样式表  Flash 中的样式声明不支持 Flash 文档的"层叠",这一点与 CSS 支持 HTML 文档的层叠不同。所有样式表声明对象都在应用程序级别(全局)定义。

优先级 如果以多种方式设置一个组件样式(例如,如果在全局级别和在组件实例级别设置 textColor),则 Flash 会根据在同一个文档中使用全局、自定义和类样式中列出的顺序使用它遇到的第一个样式。