| 包 | mx.managers |
| 接口 | public interface ILayoutManagerClient extends IEventDispatcher |
| 实现器 | AdvancedDataGridItemRenderer, DataGridItemRenderer, FlexNativeMenu, ProgrammaticSkin, UIComponent |
可将实现此接口的对象传递给 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 | 属性 |
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,则调用对象子项的此方法。
|