Flex Application各种属性解析

来源:互联网 发布:软件需求怎么写 编辑:程序博客网 时间:2024/05/17 23:09

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
                xmlns:local="com.xx.xx.*"
                preinitialize="pre()"
                creationComplete="init()"
                applicationComplete="appComplete()"
                layout="absolute">

xmlns = xml name space
用于定义当前文件将会使用到的命名空间

例如xmlns:mx表示将会用到mx下的各种标签
我们在编辑flex文档时一定会用到诸如<mx:label>这样的标签,所以xmlns:mx是不能少的
而我们要用到自己编写的控件或其他东西的时候,需要声明我们将用到的标签所属于的命名空间
例如xmlns:local="com.xx.xx"表示我们将用local调用属于com.xx.xx命名空间下的各种标签
这样当我们声明<local:label>的时候才不会出错

layout
表示在不特别设置的情况下,当前页遵循的页面布局,有三种布局方式:absolute,vertical,horizontal
layout="absolute"时,如果application有另外的布局属性verticalAlignhorizontalAlign不起作用

layout="vertical"layout="horizontal"时,具体的排列可以由verticalAlignhorizontalAlign控制

width
定义当前application的宽度

height
定义当前application的长度

preinitialize,creationComplete,applicationComplete
这三个都是在application运行过程中会触发的事件,它们的执行顺序用以下示例说明

<mx:Application>
<mx:Canvas id="canvas" width="100%" height="100%">
      <mx:List id="list" width="500" height="300"/>
</mx:Canvas>
</mx:Application>

0 application: preinitialize //
调用applicationpreinitialize="xx()"中的xx(),如果定义了的话
1 application: childAdd      //
创建Canvas标签
2 application.canvas : add
3 application.canvas : preinitialize
4 application.canvas : childAdd
5 application.canvas.COMPONENT : add             //
组件是先被添加,然后该组件才开始初始化
6 application.canvas.COMPONENT : preinitialize   //
7 application.canvas.COMPONENT : initialize
8 application.canvas : initialize
9 application: initialize
10 application.canvas.list : creationComplete
11 application.canvas : creationComplete //
调用applicationcreationComplete
12 application: applicationComplete //
调用application
applicationComplete


事件说明
:
add:
组件被添加到容器上(addChild, addChildAt)时发出

preinitialize:
预初始化时发出
initialize:
完成构造,所有属性都被设置完成后发出
creationComplete:
完成构造,属性,测量,布局,绘制后发出
applicationComplete: Dispatched after the Application has been initialized, processed by the LayoutManager, and
attached to the display list.


=======================
其他==========================
uicomponent.updateComplete : Dispatched when an object has had its commitProperties(), measure(), and

updateDisplayList() methods called (if needed).
commitProperties(), measure(), and updateDisplayList()被调用时派发


updateDisplayList:
updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
Draws the object and/or sizes and positions its children.
绘制对象的子对象的大小,位置.
不可以直接调用该方法。 当该组件被通过addChild方法添加到容器上 组件的invalidateDisplayList()方法被调用时,

Flex
会调用updateDisplayList()方法

 

原创粉丝点击