组件实例化生命周期描述了用组件类创建组件对象时所发生的一系列步骤,作为生命周期的一部分,flex自动调用组件的的方法,发出事件,并使组件可见.
下面例子用as创建一个btn控件,并将其加入容器中
var boxContainer:Box = new Box();
//设置Box容器
...
//创建btn
var b:Button = new Button();
b.label = "Submit";
...
//将btn添加到Box容器中
boxContainer.addChild(b);
下面的步骤显示了用代码创建一个Button 控件,并将这个控件添加到Box 容器中时所发生
的一切:
1.调用了组件的构造函数;
var b:Button = new Button();
2.通过设置组件的属性对组件进行设置,
// Configure the button control.
b.label = "Submit";
组件的setter方法将会调用invalidateProperties(),invalidateSize (),invalidateDisplayList()方法.
3.调用addChild()方法将该组件添加到父组件
// Add the Button control to the Box container.
boxContainer.addChild(b);
4.将component的parent的属性设置为对父容器的引用.
5.计算组件样式(style)设置
6.在组件上发布priininialize事件.
7.调用组件的createChildren()方法.
8.调用invalidateProperties(),invalidateSize(),invalidateDisplayList ()方法以触发后续到来的,下一个"渲染事件"(render event)期间对commitProperties(),measure(),updateDisplayList()方法的调用.这个规则唯一一个例外就是当用户设置组件的height 和width 属性时, Flex 不会调用measure() 方法.
9. 在组件上分发initialize 事件。此时,组件所有的子组件都被初始化,但是组件没有改更size 和处理布局。可以利用这个事件在组件布局之前执行一些附加的处理。
10. 在父容器上分发childAdd 事件.
11. 在父容器上分发initialize 事件.
12.在下一个"渲染事件"(render event)中,Flex执行以下动作:
a.调用组件的commitProperties()方法.
b.调用组件的measure()方法.
c.调用组件的layoutChrome方法.
d.调用组件的updateDisplayList()方法.
e.在组件上发布updateComplete事件.
13.如果commitProperties(),measure,updateDisplayList方法调用了invalidateProperties(),invalidateSize(),或invalidateDisplayList()方法,则Flexh 会分发另外一个render 事件.
14. 在最后的render 事件发生后, Flex 执行以下动作:
a. 通过设置组件的visible 属性使组件变为可视.
b. 在组件上分发creationComplete 事件.组件的大小(size)和布局被确定.
这个事件只在组件创建时分发一次.
c. 在组件上分发updateComplete 事件.无论什么时候,只要组件的布局
(layout),位置,大小或其它可视的属性发生变化就会分发这事件,然后组件被
更新,以使组件能够被正确地显示.
分享到:
相关推荐
深入FLEX组件生命周期--Flex组件生命周期大概可以分为3步
Flex组件生命周期[收集].pdf
NULL 博文链接:https://damoqiongqiu.iteye.com/blog/1402491
flex 4 生命周期 组件 框架 详细解读
理解Flex3的组件和框架的生命周期理解Flex3的组件和框架的生命周期
研究Flex 组件声明周期,了解组件的生成步骤
理解Flex3组件和框架的生命周期.理解Flex3组件和框架的生命周期
括Flex 框架和组件生命周期。有很高层次的概述,但这些都在用户能弄明白的能力范围之 外。 从API 文档中我们可以推断出很多功能和命令,有时它们是引导我们,但也有时关于一些信 息会戏弄我们。通常,API 文档假定你...
Flex3组件和框架的生命周期
关于Adobe flex3 组件和框架的生命周期的讲解,是作者:James Polanco & Aaron Pedersen,由我本人翻译的,如有不妥之处,请留言通知我。我的gmail帐号是:kevinlee820@gmail.com 希望与大家共同进步。
在TourDeFlexhttp://...遵循Flex的组件生命周期,添加相应方法即可。 源码及示例已在附近中(这个压缩文件是个标准的Flex Web工程,直接导入FlexBuilder后,选择CollapsibleAccordionSample运行即可)
Spark组件架构剖析 理解Flex4组件生命周期 Demo Q & A
通过使用AS3编写组件皮肤,开发者可以更深入的了解Flex的组件生命周期,无论是对于移动应用开发还是传统的桌面或者Web应用开发,都大有裨益
这是一个flex4的项目,可以下载下来单独运行,其中重写了组件createChildren、commitProperties、measure和updateDisplayList方法,基本描述了他们在组件生命周期中所起的作用,并且在项目中实现了属性的事件绑定,...
A Flex 4 Component’s life cycle。介绍了flex组件的生命周期。
Menu 的默认样式改写, 比如把分割线变细,flex 组件的生命周期,flex皮肤样式,动态图片的加载, 文件的上传于下载, 多个二进制图片数据的批量查询与现实。 另外还是都真实项目中的。 挺舍不得的, 但好东西分享...