包 | mx.states |
类 | public class AddChild |
继承 | AddChild OverrideBase OnDemandEventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
overrides
属性中使用该类。可使用 creationPolicy
属性来指定在应用程序启动时还是当您更改到某一视图状态时创建子级。
在子级添加到容器之前,子级不会调度 creationComplete
事件。例如,以下代码在视图状态更改过程中添加 Button 控件。
<mx:AddChild relativeTo="{v1}"> <mx:Button id="b0" label="New Button"/> </mx:AddChild>
在前面的示例中,在您更改状态以及 Button 控件被添加到容器之前,Button 控件不调度 creationComplete
事件。如果 AddChild 类同时定义了 Button 和容器(如 Canvas 容器),则 Button 控件将在其创建之后调度 creationComplete 事件。例如,如果 creationPolicy
属性设置为 all
,Button 控件将在应用程序启动时调度该事件。如果 creationPolicy
属性设置为 auto
,Button 控件将在您更改到视图状态时调度事件。
The <mx:AddChild>
tag
has the following attributes:
<mx:AddChild Properties target="null" targetFactory="null" creationPolicy="auto" position="lastChild" relativeTo="parent of the State object" />
默认 MXML 属性targetFactory
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
creationPolicy : String
该子级的创建策略。 | AddChild | ||
position : String
显示列表中子项的位置,随 relativeTo 属性指定的对象而变化。 | AddChild | ||
relativeTo : Object
相对于其添加子项的对象。 | AddChild | ||
target : DisplayObject
要添加的子级。 | AddChild | ||
targetFactory : IDeferredInstance
创建子级的 factory。 | AddChild |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | AddChild | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | OnDemandEventDispatcher | ||
[覆盖]
应用覆盖。 | AddChild | ||
从 factory 创建子实例。 | AddChild | ||
将事件调度到事件流中。 | OnDemandEventDispatcher | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | OnDemandEventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
[覆盖]
IOverride 接口方法;该类将其作为空方法实现。 | AddChild | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
[覆盖]
删除覆盖。 | AddChild | ||
从 EventDispatcher 对象中删除侦听器。 | OnDemandEventDispatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | OnDemandEventDispatcher |
creationPolicy | 属性 |
creationPolicy:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
该子级的创建策略。该属性确定 targetFactory
将在何时创建该子级的实例。仅当指定 targetFactory
属性时,Flex 才使用该属性。以下是有效值:
值 | 意义 |
---|---|
auto | (默认值)在第一次需要实例时创建实例。 |
all | 在应用程序启动时创建实例。 |
none | 不自动创建实例。必须调用 createInstance() 方法来创建该实例。 |
默认值为 "auto"。
实现
public function get creationPolicy():String
public function set creationPolicy(value:String):void
position | 属性 |
public var position:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
显示列表中子项的位置,随 relativeTo
属性指定的对象而变化。有效值为 "before"
、"after"
、"firstChild"
和 "lastChild"
。
默认值为 "lastChild"。
relativeTo | 属性 |
public var relativeTo:Object
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
相对于其添加子项的对象。该属性与 position
属性结合使用。此属性是可选的,如果省略此属性,Flex 将使用 State
对象的直接父级,即具有 states
属性的组件,或指定 State 对象的 <mx:states>
标签。
target | 属性 |
target:DisplayObject
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
要添加的子级。如果设置了该属性,将在应用程序启动时创建子实例。设置该属性等同于设置 targetFactory
属性并将 creationPolicy
设置为 "all"
。
如果设置了 targetFactory
属性,则不要设置该属性。
实现
public function get target():DisplayObject
public function set target(value:DisplayObject):void
targetFactory | 属性 |
targetFactory:IDeferredInstance
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
创建子级的 factory。可以指定以下任一项目:
- 实现 IDeferredInstance 接口并创建一个或多个子实例的 factory 类。
- Flex 组件(即任何为 UIComponent 类的子类的类),如 Button 控件。如果使用 Flex 组件,Flex 编译器会自动将该组件包装到 factory 类中。
如果设置了该属性,子级将在由 creationPolicy
属性确定的时间实例化。
如果设置了 target
属性,则不要设置该属性。该属性是 AddChild
类默认属性。设置该属性并将 creationPolicy
设置为“all 等同于设置 target
属性。
实现
public function get targetFactory():IDeferredInstance
public function set targetFactory(value:IDeferredInstance):void
AddChild | () | 构造函数 |
public function AddChild(relativeTo:UIComponent = null, target:DisplayObject = null, position:String = "lastChild")
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
构造函数。
参数relativeTo:UIComponent (default = null ) — 相对于添加子项的组件。
| |
target:DisplayObject (default = null ) — 子对象。所有 Flex 组件都是 DisplayObject 类的子类。
| |
position:String (default = "lastChild ") — target 显示列表中相对于 relativeTo 组件的位置。必须是以下中的一项:“firstChild”、“lastChild”、“before”或“after”。
|
apply | () | 方法 |
override public function apply(parent:UIComponent):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
应用覆盖。Flex 将保留原始值,以便以后可以在 remove()
方法中恢复该值。
当进入状态时自动调用此方法。不应直接对其进行调用。
参数
parent:UIComponent — 包含此覆盖的状态对象的父级。如果未指定明确目标,覆盖应使用它作为其目标。
|
createInstance | () | 方法 |
public function createInstance():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
从 factory 创建子实例。必须在仅当指定 targetFactory
属性并且 creationPolicy
的值为 "none"
时使用此方法。如果 creationPolicy
属性值为 "auto"
或 "all"
,Flex 将自动调用此方法。如果多次调用此方法,仅在第一次调用时创建子实例。
initialize | () | 方法 |
override public function initialize():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
IOverride 接口方法;该类将其作为空方法实现。
remove | () | 方法 |
override public function remove(parent:UIComponent):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
删除覆盖。在 apply()
方法中记住的值将被恢复。
当进入状态时自动调用此方法。不应直接对其进行调用。
参数
parent:UIComponent — 包含此覆盖的状态对象的父级。如果未指定明确目标,覆盖应使用它作为其目标。
|
Tue Jun 12 2018, 11:04 AM Z