第三章 第五节 使用MXML

MXML 是一种XML 语言,你可以使用它去布置Adobe Flex 应用程序的用户界面。你
还可以使用MXML 去定义其它的方面,如存取服务器端的数据,将用户组件与服务器端数
据源进行绑定等。
MXML 看起来与你所熟悉的HTML 很类似,然而,MXML 更为结构化,并提供更为
丰富的标签集。MXML 与HTML 之间最大的不同之处在于,以MXML 所定义的应用程序
将被编译成SWF 文件并由Flash Player 进行渲染,它提供比HTML 程序更为丰富的和动态
的用户界面。
你可以将MXML 应用程序编写成一个文件或多个文件。同时,MXML 还支持以MXML
和ActionScrip 所定制的组件。
编写一个简单的应用程序
随后的简单程序显示“Hello World”,该例子包含了<mx:Application>标签和两个子标签,
即<mx:Panel>标签和<mx:Label>标签。<mx:Application>是所有Fles 应用程序的根标签。
<mx:Panel>标签定义了一个面板容器,它包括了标题栏、状态信息、边界、以及容纳子对象
的内容区域。<mx:Label>标签中使用了一个Label 控件用来显示文本。
<?xml version="1.0"?>
<mx:Application xmlns:mx="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>
将文件保存为hello.mxml。请注意,MXML 文件的后缀.mxml 必须是小写。然后编译并
运行所生成的SWF 文件,结果如下所示:

MXML 标签与ActionScript 类的关系
Adobe 是通过ActionScript 类库来实现Flex 应用程序的。类库包括了组件(容器和控
件),管理类,数据服务类等等。事实上,你是在使用类库所支持的MXML 和ActionScript
来开发Flex 应用程序。
MXML 标签与ActionScript 类或类的属性相对应。Flex 剖析MXML 标签并编译成相应
的SWF 文件。举个例子,Flex 提供ActionScript 按钮类/Button class 来定义按钮控件。在
MXML 中,你使用如下MXML 语句来创建一个按钮控件:
<mx:Button label="Submit" />
当你使用MXML 标签来声明一个控件时,事实上你就创建了相应那个类的一个实例对
象。上述MXML 语句创建了一个按钮对象,并初始化它的label 属性值。
与 MXML 相关的技术标准
与 MXM 相关的技术标准有:
1. XML 标准。XML 文档使用标签去决定结构化信息的内容,以及它们之间的关系。
2. 事件模型标准。Flex 事件模型是文档对象模型/Document Object Model (DOM)第
三级事件的一个子集,该模型是由World Wide Web Consortium(W3C)起草制定。
3. Web 服务标准
Flex 提供与服务器交互的MXML 标签,遵循了Web 服务描述语言/Web Services
Description Language(WSDL)的规则。具体包括了简单对象访问协议/Simple Object Access
Protocol(SOAP)和超文本传送协议/Hypertext Transfer Protocol(HTTP)。
4. Java 标准
Flex 提供了与服务器端Java 对象交互的MXML 标签,包括plain old Java objects
(POJOs),JavaBeans 和企业级/Enterprise JavaBeans(EJBs)。
5. HTTP 标准
Flex 提供了相应的MXML 标签去支持标准的HTTP GET 和POST 请求,以及对HTTP
返回数据的处理。
6. 图形标准
Flex 还提供了相应的MXML 标签去使用JPEG,GIF 和PNG 图象。Flex 还能够将SWF
文件和Scalable Vector Graphics(SVG)文件导入到应用程序中。
7. 层叠样式表标准
MXML 样式的定义和使用遵循了W3C Cascading Style Sheets (CSS)标准。

加支付宝好友偷能量挖...


评论(0)网络
阅读(131)喜欢(0)flash/flex/fcs/AIR