mx.managers
接口public interface ILayoutManagerClient extends IEventDispatcher
实现器 AdvancedDataGridItemRenderer, DataGridItemRenderer, FlexNativeMenu, ProgrammaticSkin, UIComponent

ILayoutManagerClient 接口用于定义一类接口,组件必须实现此类接口才能加入 LayoutManager 的提交/度量/布局序列。

可将实现此接口的对象传递给 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
公共方法
 方法定义方
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
IEventDispatcher
 Inherited
将事件调度到事件流中。
IEventDispatcher
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
IEventDispatcher
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
IEventDispatcher
  
验证子项的位置和大小,并绘制其它可视内容。
ILayoutManagerClient
  
验证组件的属性。
ILayoutManagerClient
  
validateSize(recursive:Boolean = false):void
如果使用此 ILayoutManagerClient 调用 LayoutManager.invalidateSize() 方法,随后在测量时调用了 validateSize() 方法,则验证组件的度量大小。
ILayoutManagerClient
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
IEventDispatcher
属性详细信息
initialized属性
initialized:Boolean  [读写]

一个标志,用于确定某个对象是否已完全通过了布局验证的三个阶段(假设每一阶段都是必需的)。此标志应只能由 LayoutManager 修改。



实现
    public function get initialized():Boolean
    public function set initialized(value:Boolean):void
nestLevel属性 
nestLevel:int  [读写]

顶级 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  [读写]

临时或延迟子项创建操作后设置为 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属性 
updateCompletePendingFlag:Boolean  [读写]

一个标志,用于确定某个对象是否正在等待调度其 updateComplete 事件。此标志只能由 LayoutManager 修改。



实现
    public function get updateCompletePendingFlag():Boolean
    public function set updateCompletePendingFlag(value:Boolean):void
方法详细信息
validateDisplayList()方法
public function validateDisplayList():void

验证子项的位置和大小,并绘制其它可视内容。如果使用此 ILayoutManagerClient 调用 LayoutManager.invalidateDisplayList() 方法,则当更新显示列表时会调用 validateDisplayList() 方法。

validateProperties()方法 
public function validateProperties():void

验证组件的属性。如果使用此 ILayoutManagerClient 调用 LayoutManager.invalidateProperties() 方法,则当提交属性值时会调用 validateProperties() 方法。

validateSize()方法 
public function validateSize(recursive:Boolean = false):void

如果使用此 ILayoutManagerClient 调用 LayoutManager.invalidateSize() 方法,随后在测量时调用了 validateSize() 方法,则验证组件的度量大小。

参数

recursive:Boolean (default = false) — 如果为 true,则调用对象子项的此方法。