在组件实例上设置样式

您可以编写 ActionScript 代码,在任何组件实例上设置和获取样式属性。"UIObject.setStyle()""UIObject.getStyle()"方法均可直接从任何 UI 组件调用。以下语法为组件实例指定属性和值:

instanceName.setStyle("propertyName", value);

例如,以下代码为使用"光晕"主题的名为 myButton 的 Button 实例设置强调颜色:

myButton.setStyle("themeColor", "haloBlue");

注意

如果该值是字符串,它必须括在引号中。

您还可以属性的形式直接访问样式(例如 myButton.color = 0xFF00FF)。

在组件实例上通过 setStyle() 设置的样式属性具有最高优先级,可以覆盖基于样式声明或主题的所有其它样式设置。然而,您对一个组件实例使用 setStyle() 设置的属性越多,组件在运行时呈现得越慢。可以利用 ActionScript 加快呈现自定义组件的过程,方法是在使用"UIObject.createClassObject()"创建组件实例的过程中定义样式属性,并将样式设置放置在 initObject 参数中。例如,对于当前文档库中的 ComboBox 组件,以下代码创建一个名为 my_cb 的组合框实例,并将该组合框中的文本设置为斜体且右对齐:

createClassObject(mx.controls.ComboBox, "my_cb", 1, {fontStyle:"italic", textAlign:"right"});
my_cb.addItem({data:1, label:"One"});

注意

如果想更改多个属性,或更改多个组件实例的属性,您可以创建一个自定义样式。将一个自定义样式用于多个属性的组件实例要比多次调用 setStyle() 的组件实例呈现得更快。有关详细信息,请参阅为成组的组件设置自定义样式

设置或更改使用"光晕"主题的单个组件实例的属性:

  1. 在舞台上选择组件实例。
  2. 在"属性"检查器中,为其指定实例名称 myComponent
  3. 打开"动作"面板并选择"场景 1",然后选择"第 1 层:第 1 帧"。
  4. 输入以下代码,将实例更改为橙色:
    myComponent.setStyle("themeColor", "haloOrange");
    
  5. 选择"控制">"测试影片"查看所做的更改。

    有关某个特定组件所支持的样式的列表,请参阅《ActionScript 2.0 组件语言参考》中该组件的条目。

使用 ActionScript 创建一个组件实例并同时设置多个属性:

  1. 将一个组件拖到库中。
  2. 打开"动作"面板并选择"场景 1",然后选择"第 1 层:第 1 帧"。
  3. 输入以下语法以创建一个组件实例并设置其属性:
    createClassObject(className, "instance_name", depth, {style:"setting", style:"setting"});
    

    例如,对于库中的 Button 组件,以下 ActionScript 在深度 1 处创建一个按钮实例 my_button,并将其文本样式设置为紫色、斜体:

    createClassObject(mx.controls.Button, "my_button", 1, {label:"Hello", color:"0x9900CC", fontStyle:"italic"});
    

    有关详细信息,请参阅"UIObject.createClassObject()"

  4. 选择"控制">"测试影片"查看所做的更改。

    有关某个特定组件所支持的样式的列表,请参阅《ActionScript 2.0 组件语言参考》中该组件的条目。