MXML类似于HTML,它提供各种标签来定义用户界面,但是它比HTML的结构更为严格,并拥有跟多的应用标签。MXML不仅包括可视标签,还包括不可视标签,如web service连接、数据绑定和动画效果等,用户还客户以自定义组件标签。
两者的最大区别在于MXML定义的应用程序需要被编译成SWF文件,需要在Flash Player上运行,MXML还提供了更加动态的用户界面,程序可以卸载一个或者多个文件中。
1 编码格式定义 <?xml version="1.0" encoding="utf-8">
2 <mx:Application>标签
<mx:Application>是应用程序的根标签,定义最基本的应用程序(Applicatuon)容器。容器是用户界面的组件,用来包含其他的组件。
3 MXML标签属性
<mx:label>标签中国包含了很多属性,如text、color、fontSize等。
MXML和ActionScript 类之间的相互关系
MXML实现了MVC模式中的V部分,ActionScript实现了M部分。Flex实际上是ActionScript的类库,这个库包括组件(容器和控件)、管理类和数据服务类等。MXML标签相当于ActionScript中的类的属性,ActionScript是MXML的核心。
MXML语法
(1)MXML编译器在编译时会自动跳过字符串中的斜线"\",字符串中的斜线需要写为"\\"
(2) 编译标签
下面的标签不直接与ActionScript和属性有对应关系。
(3)MXML标签规则
在MXML文件中使用ActionScript代码
在MXML文件中,可以使用<fx:Script>标签直接把ActtionScript代码入其中,使用<fx:Script>标签时,所有的内容都包含在CDATA结构中,这样保证编译将Script当作XML处理,其结构如下:
<fx:Script>
<![CDATA[
.........
]]>
</fx:Script>
在MXML代码中,任何组件都能使用ActionScript代码,<fx:Script>标签代码必须放在文件的最上端,例如: