包 | mx.styles |
类 | public class AdvancedStyleClient |
继承 | AdvancedStyleClient EventDispatcher Object |
实现 | IAdvancedStyleClient, IFlexModule, IMXMLObject |
子类 | GlobalizationBase, Sort, SortField |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
IAdvancedStyleClient
接口的对象。该基类提供对象参与样式子系统时所需的方法和属性的实现。
除了 IAdvancedStyleClient
接口之外,该对象还实现 IFlexModule
和 IMXMLObject
接口。IMXMLObject
接口包含使用 MXML 声明实例化该类时调用的 initialized
方法。该基类提供的 initialized
方法的实现会将该类实例添加到包含 MXML 声明的文档对象。有关详细信息,请参阅 initilized
方法的描述。
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
className : String [只读]
组件类的名称。 | AdvancedStyleClient | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
id : String
组件的标识。 | AdvancedStyleClient | ||
inheritingStyles : Object
包含该非可视样式客户端实例的可继承样式的对象。 | AdvancedStyleClient | ||
moduleFactory : IFlexModuleFactory
模块工厂作为用于查找样式管理器(控制此非可视样式客户端实例的样式)的上下文使用。 | AdvancedStyleClient | ||
nonInheritingStyles : Object
此组件的非继承样式链的开头内容。 | AdvancedStyleClient | ||
styleDeclaration : CSSStyleDeclaration
具有此对象声明的内嵌样式的样式声明。 | AdvancedStyleClient | ||
styleManager : IStyleManager2 [只读]
返回此组件使用的 StyleManager 实例。 | AdvancedStyleClient | ||
styleName : Object
该对象的样式值的源。 | AdvancedStyleClient | ||
styleParent : IAdvancedStyleClient
组件的父项用于评估后代选择器。 | AdvancedStyleClient |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | AdvancedStyleClient | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
删除此组件实例的样式属性。 | AdvancedStyleClient | ||
将事件调度到事件流中。 | EventDispatcher | ||
为应用于该组件的类型选择器返回 CSSStyleDeclaration 对象数组,如果不存在则返回 null。 | AdvancedStyleClient | ||
获取已在此组件的样式查找链中的某个位置设置过的样式属性。 | AdvancedStyleClient | ||
如果 currentCSSState 不为 null,则返回 true。 | AdvancedStyleClient | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
该类或扩展该类的类在 MXML 声明中使用时,调用 initialized 方法。 | AdvancedStyleClient | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
如果 cssState 与 currentCSSState 匹配,则返回 true。 | AdvancedStyleClient | ||
确定此实例与给定类型相同,还是属于给定类型的子类。 | AdvancedStyleClient | ||
将样式更改传播到此样式客户端实例的子项。 | AdvancedStyleClient | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置内部样式缓存值,以便 getStyle() 方法可以起作用。 | AdvancedStyleClient | ||
将 EffectManager 注册为每个效果事件的事件侦听器之一。 | AdvancedStyleClient | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
对此组件实例设置样式属性。 | AdvancedStyleClient | ||
检测对样式属性的更改。 | AdvancedStyleClient | ||
首次初始化组件样式时,Flex 会调用 stylesInitialized() 方法。 | AdvancedStyleClient | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
className | 属性 |
id | 属性 |
inheritingStyles | 属性 |
moduleFactory | 属性 |
moduleFactory:IFlexModuleFactory
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
模块工厂作为用于查找样式管理器(控制此非可视样式客户端实例的样式)的上下文使用。
实现
public function get moduleFactory():IFlexModuleFactory
public function set moduleFactory(value:IFlexModuleFactory):void
nonInheritingStyles | 属性 |
nonInheritingStyles:Object
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
此组件的非继承样式链的开头内容。getStyle()
方法只需访问 nonInheritingStyles[styleName]
,即可搜索整个与原型链接的链。此对象由 initProtoChain()
设置。开发人员通常不需要直接访问此属性。
实现
public function get nonInheritingStyles():Object
public function set nonInheritingStyles(value:Object):void
styleDeclaration | 属性 |
styleDeclaration:CSSStyleDeclaration
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
具有此对象声明的内嵌样式的样式声明。
实现
public function get styleDeclaration():CSSStyleDeclaration
public function set styleDeclaration(value:CSSStyleDeclaration):void
相关 API 元素
styleManager | 属性 |
styleManager:IStyleManager2
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
返回此组件使用的 StyleManager 实例。
实现
public function get styleManager():IStyleManager2
styleName | 属性 |
styleName:Object
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
该对象的样式值的源。styleName
属性的值可以是以下三种可能类型之一:
- 字符串,如“headerStyle”。该字符串命名了一个在 CSS 样式表中定义的类选择器。
- CSSStyleDeclaration,如
StyleManager.getStyleDeclaration(".headerStyle")
。 - UIComponent。实现该接口的对象从引用的 UIComponent 中继承所有样式值。
实现
public function get styleName():Object
public function set styleName(value:Object):void
styleParent | 属性 |
styleParent:IAdvancedStyleClient
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
组件的父项用于评估后代选择器。父项也必须是要参加高级样式声明的 IAdvancedStyleClient。
实现
public function get styleParent():IAdvancedStyleClient
public function set styleParent(value:IAdvancedStyleClient):void
AdvancedStyleClient | () | 构造函数 |
public function AdvancedStyleClient()
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
构造函数。
clearStyle | () | 方法 |
getClassStyleDeclarations | () | 方法 |
getStyle | () | 方法 |
public function getStyle(styleProp:String):*
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
获取已在此组件的样式查找链中的某个位置设置过的样式属性。
因为此方法同样可用于获取任何类型的样式属性,所以返回值可能是 Boolean、String、Number、int、uint(用于 RGB 颜色)、Class(用于外观)或任何类型的对象。因此,返回类型被指定为 *。
如果要获取特定的样式属性,您需要了解其类型,而且通常希望将结果存储在该类型的某个变量中。可以使用 as
运算符或强制来完成。例如:
var backgroundColor:uint = getStyle("backgroundColor") as int; or var backgroundColor:uint = int(getStyle("backgroundColor"));
如果在样式查找链中的任何位置都未设置样式属性,则 getStyle()
方法的返回值为 undefined
。请注意,undefined
是一个特殊值,它与 false
、空字符串 (""
)、NaN
、0 或 null
不同。如果没有有效的样式值,则总是 undefined
。可以使用静态方法 StyleManager.isValidStyleValue()
来测试是否设置了值。
参数
styleProp:String — 样式属性的名称。
|
* — 样式值。
|
hasCSSState | () | 方法 |
public function hasCSSState():Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.6 |
运行时版本: | Flash Player 10, AIR 2.5 |
如果 currentCSSState
不为 null
,则返回 true
。通常,您无需直接调用此方法。而是由 mx.styles.CSSCondition.matchesStyleClient()
方法进行调用。
请注意,Spark 组件将其外观状态用作伪状态。Halo 组件使用 currentState
属性。
Boolean — 如果 currentCSSState 不为 null ,则返回 true 。默认情况下,currentCSSState 与 currentState 相同。如果状态不存在,则返回 false。
|
initialized | () | 方法 |
public function initialized(document:Object, id:String):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
该类或扩展该类的类在 MXML 声明中使用时,调用 initialized 方法。它在创建实现对象且初始化在 MXML 标签上指定的所有组件属性后调用。
如果创建该对象的文档是 UIComponent
(例如,应用程序、模块等),则将调用 UIComponent 的 addStyleClient
方法以将该对象添加到 UIComponent 的非可视样式客户端列表。这允许对象从文档继承样式。
参数
document:Object — 创建此对象的 MXML 文档。
| |
id:String — 文档对象用来引用此对象的标识符。
|
matchesCSSState | () | 方法 |
public function matchesCSSState(cssState:String):Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
如果 cssState
与 currentCSSState
匹配,则返回 true
。通常,您无需直接调用此方法。而是由 mx.styles.CSSCondition.matchesStyleClient()
方法进行调用。
请注意,Spark 组件将其外观状态用作伪状态。Halo 组件使用 currentState
属性。
参数
cssState:String — CSSCondition.value 的可能值。该值表示此组件用于与 CSS 伪选择器匹配的当前状态。
|
Boolean — 如果 cssState 与 currentCSSState 匹配,则返回 true 。默认情况下,currentCSSState 与 currentState 相同。如果不存在任何状态,则返回 null。
|
matchesCSSType | () | 方法 |
public function matchesCSSType(cssType:String):Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
确定此实例与给定类型相同,还是属于给定类型的子类。通常,您无需直接调用此方法。而是由 mx.styles.CSSCondition.matchesStyleClient()
方法进行调用。
参数
cssType:String — 一个 CSSSelector 对象。
|
Boolean — 如果 cssType 位于限定的类型选择器的层次结构中,则为 true 。
|
notifyStyleChangeInChildren | () | 方法 |
public function notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
将样式更改传播到此样式客户端实例的子项。非可视样式客户端(即,不是 DisplayObject 的样式客户端)没有子项,因此该方法不针对非可视样式客户端执行任何操作。
参数
styleProp:String — 样式属性的名称。
| |
recursive:Boolean — 是否将样式更改传播到子项的子项。
|
regenerateStyleCache | () | 方法 |
registerEffects | () | 方法 |
setStyle | () | 方法 |
styleChanged | () | 方法 |
public function styleChanged(styleProp:String):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
检测对样式属性的更改。设置任何样式属性后,Flex 将调用 styleChanged()
方法,向其传递所设置样式的名称。
此方法是一种高级方法,可在创建 AdvancedStyleClient
的子类时覆盖。创建自定义类时,可以覆盖 styleChanged()
方法,以检查传递给它的样式名称,并对更改进行相应处理。这允许您覆盖现有样式的默认行为或添加自己的自定义样式属性。
参数
styleProp:String — 样式属性的名称;如果此样式客户端的所有样式均已更改,则为 null。
|
stylesInitialized | () | 方法 |
public function stylesInitialized():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
首次初始化组件样式时,Flex 会调用 stylesInitialized()
方法。
Tue Jun 12 2018, 11:04 AM Z