22.5.创建基于MXML的模块

22.5.1.问题
我想创建基于MXML的模块,以便在运行期间载入。
22.5.2.解决办法
创建一个继承自mx.modules.Module的MXML类,根标签为<mx:Module>,使用mxmlc命令行工具编译模块。
22.5.3.讨论
一个模块类似于一个应用程序也是用mxmlc工具编译,生成的SWF文件可被应用程序载入或被其他模块在运行期间载入。要创建一个基于MXML的模块,需继承mx.modules.Module类,使用<mx:Module>作为MXML文件的根标签。

下面的例子是一个模块,显示一个联系人数据列表:
+展开
-XML
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxmlwidth="100%height="100%">
<mx:XMLList id="contacts">
<contact>
<name>Josh Noble</name>
<phone>555.111.2222</phone>
<address>227 Jackee Lane</address>
</contact>
<contact>
<name>Todd Anderson</name>
<phone>555.333.4444</phone>
<address>1642 Ocean Blvd</address>
</contact>
<contact>
<name>Abey George</name>
<phone>555.777.8888</phone>
<address>1984 Winston Road</address>
</contact>
</mx:XMLList>
<mx:DataGrid id="contactGridwidth="100%height="100%rowCount="4dataProvider="{contacts}">
<mx:columns>
<mx:DataGridColumn dataField="nameheaderText="Name"/>
<mx:DataGridColumn dataField="phoneheaderText="Phone"/>
<mx:DataGridColumn dataField="addressheaderText="Address"/>
</mx:columns>
</mx:DataGrid>
</mx:Module>

模块的结构类似于应用程序或自定义组件。当应用程序需要显示联系人列表时,就可以载入这个模块,把它添加到显示列表了。
使用mxmlc工具编译这个例子:
> mxmlc ContactList.mxml
这个命令生成一个SWF文件,命名为ContactList.swf,你也可以使用output选项自定义名称。

生成的SWF大小接近245KB—相当大,如果您认为内容都引入了编译的应用程序中,你可以把这些代码分离到模块中,以便减少主应用程序的下载时间和文件大小。

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


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