Flex2 开发中应用样式系列(1)

来源:互联网 发布:成为淘宝达人怎么赚钱 编辑:程序博客网 时间:2024/04/26 00:42

本文档翻译自Flex 英文开发指南,下面是第一节的内容!!!!

 

Flex中使用样式和主题
一、           关于样式
 
你可以通过样式属性来修改Flex组件的外观,这此属性可以定义一个Label控件的字体大小,或者是Tree控件的背景颜色。在Flex中,一些样式属性是从父容器继承到子控件的,如样式类型和类。这意味着你只需定义一次样式,然后你可以将此样式应用到单个控件和列表控件,此外,你还可以在本地覆盖每个控件的单独样式属性。组件级别和全局级别的样式将给你控制应用程序的外观以很大的灵活性。
本节向你介绍将样式应用到控件,也介绍了CSS(层叠样式)的基础知识,样式属性值的基本格式(Length,Color ,Time)以及样式的继承。本节的子节介绍了在Flex中,应用样式的不同方法。
Flex不提供使用CSS控制组件布局的所有属性方面,像x,y,widthheightUIComponent的属性,所以不能用CSS来定义。其他属性,比如left,right,topbottom是样式属性,通常用来在容器中操作组织件的定位。
 
一、            Flex中使用样式
 
Flex中有使用样式的很多方法。一些提供了更细粒度和可编程的控制,另外一些不是很灵活,但是可运算量很小。在Flex中将样式应用到控件有几种方法。
当应用样式的时候,你必须留心你的主题支持哪些属性。Flex中的并不支持所有的样式属性。更多的信息,请查看“关于支持的样式”
二、            外部样式表
使用CSS应用样式到文档或者整个应用程序。你可以不调用ActionScript程序指定一个样式表。这是应用样式的最简单方法,但是这不是最灵活的方法。样式表可以定义被所有控件继承的全局样式,也可以定义应用到某一控件的单独样式类。
下面的例子,在当前的文档应用了一个外部样式表myStyle.css.
<mx:Style source=”myStyle.css”/>
更多关于应用外部样式表的信息,请参看应用外部样式表”P617
Flex framework.swc文件中包括了一个全局样式表(default.css)。这个文件包含全局样式类选择器的定义,以及大多数Flex组件的类型选择器。关于default.css更多信息,请参看“关于默认样式表部分”(P618
Flex还包括一些其他的样式表,他们有统一的外观。更多信息,参看关于包括主题文件”P631
 
三、            本地样式定义
使用<mx:Style>标签定义应用到当前文档和其子组件的样式,你使在<mx:Style>标签中应用CSS语法定义样式,此样式可以应用到某个控件和单独的控件的实便。下面的例子定义了一个新的样式并且将它应用到myButton控件。
<mx:Style>
       .myFontStyle { fontSize:15}
</mx:Style>
<mx:Button id=”myButton” styleName=”myFontStyle” label=”Click Here”/>
下面的例子定义了一个新的样式并且应用到一个按钮控件上。
更多的关于使用本地样式定的信息,请参看使用本地样式定义”p619
 
四 样式管理器类(StyleManager )
使用样式管理器类(StyleManager)应用样式到所有的类,或者应用到所有的指定类的实例。下面的例子设定了所有的TextArea控件的字体大小(fongSize)为15像素。
StyleManager.getStyleDeclaration(“TextArea”).setStyle(“fongSize”,15);
你也可以使用CSSStyleDeclaration对象去构建一个运行时样式表,并且使用StyleManager类的setStyleDeclaration()方法运用这些样式.
使用StyleManager类的更多信息,请参考运用样式管理器类(StyleManager)”.
 
getStyle() setStyle()方法的使用
使用setStyle()getStyle()方法操作控件实例的样式属性。使用这些方法运用样式比使用样式表需要客户端大量的处理资源,但是担供了更细粒度的应用。
 
下面的例子设定了Button控件的实例myButton的字体大小为15像素.
myButton.setStyle(“fontSize”,15);
关于getStyle()setStyle()方法的更多信息,请参看使用getStyle()setStyle()方法节”p623
 
五 内联样式
使用MXML标签应用样式属性。这些属性仅被除应用到控件的实例。这是应用实例属性的最简便的方法,因为没有ActionScript代码块和方法调用。
下面的例子设定了Button控件的实例myButton的字体大小为15像素
<:Button id="myButton" fontSize="15" label="My Button"/>
 
在一个MXML标签里,你必须使用样式属性名称的驼峰表示法。例如,前一个例子,你必须写成“fongSize”而不是“font-size(CSS方式).更多的样式属性名,请参考“关于属性和选择器名称节”p607.
你可以给内联样式属性绑定值。
关于内联样式的更多信息,请参看使用内联样式”.
 
六 设定全局样式
大多数文本和颜色样式,比如fontSizecolor属性,是可继承的。当你应用一个可继承的样式到一个容器,此容器的所有子组件会继承此样式属性的值。如果你设定一个面板(Panel)容器的颜色(color)属性为绿色(green,所有在此容器中的按钮都将是绿色,除非这些按钮覆盖了颜色(color)属性。
然后一些样式并不是可继承的。如果你应用这些样式属性到父容器,那么只有父容器应用了此样式,此容器的子控件没有使用此不可继承的样式属性的值。
运用全局样式,你可以应用不可继承的样式到所有的控件而不需要显示的覆盖此样式。Flex提供以下方法应用全局样式:
A.StyleManager 样式管理器全局样式
B.CSS全局选择器。
样式管理器让你将全局样式应用到所有的控件。更多的关于应用样式管理器的信息,请参考“使用样式管理器类StyleManager
在你的CSS样式定义中应用global选择器应用全局样式,这些可以在外部的样式表中定义也可在<mx:Style>标签中定义。更多信息,参看“使用全局选项择器(global)”
原创粉丝点击