任何 UI 组件实例都可以直接调用
setStyle()
和
getStyle()
方法来设置或检索样式。以下语法为组件实例设置样式和值:
instanceName.setStyle("styleName", value);
此语法检索组件实例的样式:
var a_style:Object = new Object();
a_style = instanceName.getStyle("styleName");
请注意,
getStyle()
方法返回类型 Object,因为它可以返回具有不同数据类型的多种样式。例如,以下代码为 TextArea 实例 (
aTa
) 设置字体样式,然后使用
getStyle()
方法检索该样式。该示例将返回值转换为 TextFormat 对象以将其赋给 TextFormat 变量。如果未进行转换,在试图将 Object 变量强制转换为 TextFormat 变量时编译器将发出错误。
import flash.text.TextFormat;
var tf:TextFormat = new TextFormat();
tf.font = "Georgia";
aTa.setStyle("textFormat",tf);
aTa.text = "Hello World!";
var aStyle:TextFormat = aTa.getStyle("textFormat") as TextFormat;
trace(aStyle.font);
使用 TextFormat 设置文本属性
使用 TextFormat 对象可以设置组件实例的文本格式。TextFormat 对象具有一些属性,可通过这些属性指定文本特性,例如
bold
、
bullet
、
color
、
font
、
italic
、
size
等。您可以设置 TextFormat 对象中的这些属性,然后调用
setStyle()
方法将它们应用于组件实例。例如,以下代码设置 TextFormat 对象的
font
、
size
和
bold
属性,并将它们应用于 Button 实例:
/* Create a new TextFormat object to set text formatting properties. */
var tf:TextFormat = new TextFormat();
tf.font = "Arial";
tf.size = 16;
tf.bold = true;
a_button.setStyle("textFormat", tf);
下图显示了在具有“提交”标签的按钮上进行这些设置的效果:
在组件实例上通过
setStyle()
设置的样式属性具有最高优先级,可以覆盖所有其他样式设置。然而,您对一个组件实例使用
setStyle()
设置的属性越多,组件在运行时呈现得越慢。