mxml介绍

     Flex应用程序需要用两种语言:MXML与ActionScript。MXML是一种能够布置用户界面的XML超文本标记语言。你也可以使用MXML描述应用非可视方面,例如:访问服务器端的数据资源和用户界面和服务器端的数据绑定。
       像HTML一样,MXML提供用户界面标签。使用过HTML的人会觉得MXML非常熟悉。然而,MXML比HTML更结构化,提供丰富的标签。例如:MXML包括了datagrids,trees,tabnavigators,accordions,menus可视化标签和服务器连接、数据绑定、动画效果等非可视化标签。也可以使用自定义标签扩展MXML。
       MXML与HTML最大的不同是MXML应用程序被编译成SWF文件并使用Flash播放器运行,提供比基于HTML页面应用程序更丰富、更动态的用户界面。
       写一个MXML应用程序可以在单个文件或多个文件里编写。MXML也支持使用MXML和ActionScript文件的混合编写。

       MXML文件是一个普通的XML文件,使得开发环境更宽松。可以在简单的文本编辑器、专业的XML编辑器或者综合开发环境编写MXML代码。你也能够使用Flex专业的IDE--Flex Builder开发。

       下面“Hello World"程序包括一个<mx:Application>标签和<mx:Panel>、<mx:Label>两个子标签。<mx:Application>标签定义了一个Panel容器,这个容器包括一个工具栏、一个标题、一个状态信息、一个边框和一个内容区域。<mx:Label>标签描绘了一个Label控制器,一个非常简单的显示文字的用户界面。
<?xml version="1.0?>
<mx:Application xmlns:ms="http://www.adobe.com/2006/mxml">
<mx:Panel title="My Application" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">
   <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/>
</mx:Panel>
<mx:Application>

       文档的第一行是可选的,指定了XML的版本号。包括指定MXML文件的编码信息是好的习惯。许多编辑器让你从文件编码选项中选择。在北美的操作系统,ISO-8859-1是绝对优势编码格式,大多数程序都默认为这种格式。使用UTF-8可以确保被多数平台兼容。UTF-8为每一个字符提供了唯一的编码,它独立于平台、语言、程序。如果你指定了编码模式,它将与文件编码匹配。
       除Flex程序的根结点之外,<mx:Application>标签描绘了一个Application容器。容器是一个能包含别的组件的、并且内置了子级组件布局规则的用户界面。默认情况下,Application容器布置它的子级是垂直的从上而下的。你可以在Application容器内建筑别的类型容器。
       MXML标签属性,例如<mx:Label>text,fontWeight和fontSize属性可以设置组件的字母的状态。可以在<mx:Script>标签内使用ActionScript代码运行时改变组件状态。

       可以使用SWF文件、或者使用Adobe Flex Data services发布程序。也可以使用Flex Builder在其内部编译和运行SWF文件。程序正确的被执行后,就可以拷贝到Web服务器或应用服务器上发布。使用HTTP请求的访问格式为:
http://hostname/path/filename.swf
       Flex也提供了编译MXML的命令--mxmlc。可以在命令行中使用mxmlc编译hello.mxml,如:
mxmlc --show-ActionScript-warnings=true --strict=true hello.mxml

       Adobe将Flex当做ActionScript类库实现。类库包括了组件、控制类、数据服务器类以及其它特征的类。使用MXML和ActionScript语言的类库开发程序。
       MXML标签相当于ActionScript类或者是类的属性。Flex解析MXML标签并编译成包含相应ActionScript对象的SWF文件。例如:Flex提供了定义Button控件的Button类。在MXML中,创建一个Button控件,使用MXML如下表示:
<mx:Button label="Submit"/>
       当使用MXML标签申明了一个控件,就创造了这个类的实例。这个MXML语句声明创建了一个Button对象,并且初始化了这个Button对象的label属性为Submit。
       MXML标签相当于一个同名ActionScript类。类名以大写字母开头,用大写字母分隔单词。每个MXML标签的属性与相应的ActionScript类的属性相同。

       MXML应用程序可以在一个文件或多个文件中编写。主文件必须包含<mx:Application>标签。在主文件中可以使用MXML、ActionScript或两者混合编写。
       共同编码的Flex应用程序能划分根据功能单元或不同任务的模块。Flex中,可以划分为MXML文件和ActionScript文件,分别负责不同的模块。划分模板的好处如下:
         容易开发:不同的开发者和开发小组可以独立的开发和调试。
         重用性:不同的应用中可以重用模块,以至于不用重新编写。
         可维护性:比在一个文件中更快的调试。
       Flex中,可以用MXML或ActionScript定义自定义组件实现模块。自定义组件可以使用其它的自定义组件。Flex中,没有限制组件嵌套的标准。定义组件必须在其程序中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值