首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex学习记要(在容器中动态添加和移除子组件)

2012-11-25 
Flex学习记录(在容器中动态添加和移除子组件)使用addChild 或者addChildAt 方法来添加子组件,同理,使用rem

Flex学习记录(在容器中动态添加和移除子组件)
使用addChild 或者addChildAt 方法来添加子组件,同理,使用removeChildAt 或者
removeAllChildren 方法来移除子组件。
Flex 方法使得添加和移除子组件操作变得容易,但是UIComponent 控件和容器则遵从稍显
不同的两组规则。
addChild 方法将任何继承自UIComponent 的子组件添加到调用这个方法的控件中。例如:
var component:UIComponent = new UIComponent();
addChild(component);
addChildAt 方法的不同在于,它在子组件被添加到容器的时候需要传入一个该子组件在目
标容器内的索引。在容器没有布局管理器的情况下,比如Canvas 对象,这意味着被添加的
子组件会在指定的z 索引深度上显示。而对于拥有布局管理器的容器来说,例如HBox 和VBox
组件,被添加的子组件则会出现在提供的索引上。例如:
var component:UIComponent = new UIComponent();
addChildAt(component, 3);
要移除任意子组件,调用removeChildAt,即会移除指定索引上的子组件。
removeChildAt(2);
容器和UIComponent 控件也有removeChild 方法,该方法要求传入一个需要移除的子组件的
引用。
Flex 提供了不同的方法来访问被添加到容器中的子组件。在获悉如何访问子组件之后,你
可以使用访问子组件得到的引用来移除它们。例如,任何添加到MXML 容器的子组件都可以
通过它们的id 属性来访问。任何容器的所有子组件都可以使用getChildAt 来访问它们,如
下:
getChildAt(index:int);
如果赋以了name 属性,也可以通过name 属性来访问它们。要确定任何组件所包含的子组件
个数,使用numChildren 属性:
var i:int = 0;
while(i<this.numChildren)
{
trace(getChildAt(i));
i++;
}
移除子组件的时候,可以使用子组件的index 或者id 作为引用,像后面这样的句式,
removeChild(getChildAt(2));或者removeChild(this.childId);
最后,removeAllChildren 方法则可以移除添加到某一组件内的所有子组件。

热点排行