包 | mx.managers |
接口 | public interface ILayoutManagerClient extends IEventDispatcher |
实现器 | AdvancedDataGridItemRenderer, DataGridItemRenderer, FTEAdvancedDataGridItemRenderer, FTEDataGridItemRenderer, FlexNativeMenu, ProgrammaticSkin, UIComponent |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
可将实现此接口的对象传递给 LayoutManager 的 invalidateProperties()
方法。当 LayoutManager 达到提交属性阶段时,LayoutManager 将调用此对象的 validateProperties()
方法。
同样,如果将某个对象传递给 LayoutManager 的 invalidateSize()
方法,则 LayoutManager 随后将在度量阶段调用该对象的 validateSize()
方法;如果将某个对象传递到 LayoutManager 的 invalidateDisplayList()
方法,则 LayoutManager 随后将在布局阶段调用其 validateDisplayList()
方法。
ILayoutManagerClient 接口由 UIComponent 类和 ProgrammaticSkin 类实现。
属性 | 由以下参数定义 | ||
---|---|---|---|
initialized : Boolean
一个标志,用于确定某个对象是否已完全通过了布局验证的三个阶段(假设每一阶段都是必需的)。此标志应只能由 LayoutManager 修改。 | ILayoutManagerClient | ||
nestLevel : int
顶级 SystemManager 的 nestLevel 为 1。 | ILayoutManagerClient | ||
processedDescriptors : Boolean
临时或延迟子项创建操作后设置为 true,具体取决于发生对象。 | ILayoutManagerClient | ||
updateCompletePendingFlag : Boolean
一个标志,用于确定某个对象是否正在等待调度其 updateComplete 事件。 | ILayoutManagerClient |
方法 | 由以下参数定义 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | IEventDispatcher | ||
将事件调度到事件流中。 | IEventDispatcher | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | IEventDispatcher | ||
从 EventDispatcher 对象中删除侦听器。 | IEventDispatcher | ||
验证子项的位置和大小,并绘制其他可视内容。 | ILayoutManagerClient | ||
验证组件的属性。 | ILayoutManagerClient | ||
如果使用此 ILayoutManagerClient 调用 LayoutManager.invalidateSize() 方法,随后在测量时调用了 validateSize() 方法,则验证组件的度量大小。 | ILayoutManagerClient | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | IEventDispatcher |
initialized | 属性 |
nestLevel | 属性 |
nestLevel:int
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
顶级 SystemManager 的 nestLevel 为 1。其直接子项(顶级应用程序及所有弹出窗口)的 nestLevel
为 2。这些直接子项的子项的 nestLevel
为 3,依此类推。nestLevel
用于在度量和布局阶段对 ILayoutManagerClient 进行排序。在提交阶段,LayoutManager 按 nestLevel
递增的顺序提交客户端属性,这样,在 Flex 提交对象本身的属性前,该对象的子项的属性已提交。在度量阶段,LayoutManager 按 nestLevel
递减的顺序测量客户端,这样,在 Flex 测量对象本身前,该对象的子项即已完成测量。在布局阶段,LayoutManager 按 nestLevel
递减的顺序布局客户端,这样,在要求对象定位其子项并设置子项大小前,该对象的父项还可以设置其大小。
实现
public function get nestLevel():int
public function set nestLevel(value:int):void
processedDescriptors | 属性 |
processedDescriptors:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
临时或延迟子项创建操作后设置为 true
,具体取决于发生对象。对于 Container 对象,在 createComponentsFromDescriptors()
方法结束(即 Container 对象使用其子项描述符创建子项)后,该属性设置为 true
。
例如,如果 Accordion 容器使用延迟的实例化,则在用户导航到 Accordion 容器的第二个窗格并且该窗格创建其子项后,此窗格的 processedDescriptors
属性才变为 true
。但是,如果 Accordion 已将 creationPolicy
属性设置为 "all"
,则在应用程序启动期间此容器第二个窗格的 processedDescriptors
属性设置为 true
。
非容器类都没有描述符,所以对于这些类,createChildren()
方法创建任何内部组件子项后,该属性设置为 true
。
实现
public function get processedDescriptors():Boolean
public function set processedDescriptors(value:Boolean):void
updateCompletePendingFlag | 属性 |
validateDisplayList | () | 方法 |
public function validateDisplayList():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
验证子项的位置和大小,并绘制其他可视内容。如果使用此 ILayoutManagerClient 调用 LayoutManager.invalidateDisplayList()
方法,则当更新显示列表时会调用 validateDisplayList()
方法。
validateProperties | () | 方法 |
public function validateProperties():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
验证组件的属性。如果使用此 ILayoutManagerClient 调用 LayoutManager.invalidateProperties()
方法,则当提交属性值时会调用 validateProperties()
方法。
validateSize | () | 方法 |
Tue Jun 12 2018, 11:04 AM Z