2022年编译MXML详解及代码详解 .pdf
《2022年编译MXML详解及代码详解 .pdf》由会员分享,可在线阅读,更多相关《2022年编译MXML详解及代码详解 .pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编译 MXML 为 SWF 文件你将你的应用作为SWF 文件部署,或者你如果有 Adobe LiveCycle Data Services ES你可以将你的应用作为一组 MXML,as文件来部署。 如果你使用 flex builder,你可以在flex builder中编译,运行swf 文件,如果你的程序执行正确,你可以用 copy 这些文件到一个web容器中的方法,来部署这个应用。用户可以通过http:/hostname/path/filename.html访问这个已经部署的swf 文件。 flex还有一个基于命令行的编译器,mxmlc ,使用它你可以编译mxml文件,你可以使用mxmlc编
2、译一个hello.mxml文件,例如: mxmlc -show-actionscript-warnings=true -strict=true c:/appDir/hello.mxml 在这个例子中flexInstallDir 是 flex的安装目录, appDir 是hello.mxml所在的文件夹。 编译的结果swf 文件也就是hello.swf文件和 hello.mxml在同一文件架下。 mxml 标签和 actionscript类的关系adobe 用 actionscript类库来实现flex, 这个类库包含组件(容器和控件),管理类,数据服务类,和其他各种各样的类。你可以使用mxml
3、 和 actionscript语言和这些类库来开发你的应用。mxml 标签与actionscript类及类的属性保持一致,flex解析 mxml 标签,将其编译成一个swf 文件,这个编译好的swf文件中就有mxml 文件对应的 actionscript对象。 例如 flex提供了 actionscript的 button类,这个类定义了flex的 button控件,你在 mxml 中,可以这样创建一个button控件 当你使用 mxml标签声明一个控件的时候,你创建了一个这个空间类的实例。这条mxml语句创建了一个button对象,并且初始化这个button 空间的 label属性为字符串“
4、 submit ”.一个mxml标签与和它对应的 actionscript类的类文件中使用同样的命名规范。 在 mxml标签中使用id 属性mxml 标签中有一个可选的id 属性,这个属性的取值在整个mxml文件中必须唯一。如果一个标签含有id属性,你可以在actionscript文件中引用这个对象, 这段代码会使mxml编译器自动生成一个public变量叫做 myText, 这个变量是一个textInput实例的引用。这个自动生成的变量可以让你在actionscript中,方便的访问组件的实例。你可以在任何acitonscript文件或 script块中,使用id 来应用这个textInpu
5、t空间的实例。通过引用一个组件的实例,你可以修改这个组建的属性,调用它的方法。因为每一个id 值在一个 mxml文件中是唯一的,一个文件中所有的对象又是一个命名空间的一部分,你可以使用这个对象的父对象加.符号来访问这个对象。 使用 xml 命名空间在一个 xml 文档中,标签会被分配到一个命名空间中,命名空间可以使你在一个文档中,引用属于不同集合的 xml 标签。 在 mxml 标签中的 xmlns 属性指定了一个xml 的命名空间, 使用默认的命名空间可以不用使用前缀。使用一些额外的标签,需要指定一个标签的前缀并且指定一个命名空间。例如,下面这个标签指定了 mxml 命名空间中的标签使用mx
6、 :这个前缀。这个mxml命名空间的url是http:/ xml 命名空间使你可以使用不在mxml命名空间中的用户自定义标签。下面的例子演示了一个使用了CustomBox用户标签的应用, 命名空间的值containers.boxes.*指定了这个名叫CustomBox的 mxml 组件在containers/boxes目录下。 containers/boxes是存放应用文件的目录的子目录,或者是在 flex-config.xml中声明过的actionscript源文件的路径的子目录。如果在这两个地方都可以找到对应的文件,flex优先使用存放应用文件的目录的子目录下的对应的文件。前缀的名称是任意
7、的,但是你怎么声明前缀的,在使用用户自定义标签的时候,就要那样给你的标签加前缀。当使用的组件在一个swc 文件中的时候,这个swc 文件就相当于一个目录。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 13 页 - - - - - - - - - 一个 swc文件对于 flex组件来说就是一个归档文件(压缩文件)。这样,flex开发人员可以很简单的使用 swc 文件。 命名 mxml文件mxml文件名必须符合以下的命名规则: ?文件名必须是一个actionscript的标
8、识符,也就是说必须以字母或者下划线开头,后面接字母,数字,下划线。 ?文件名不能和actionscript类名,组件的 id 值,或者应用的名称相同。 不要使用与mx命名空间下的mxml标签名称相同的文件名。 ?文件名必须要以小写的 .mxml为扩展名。 一个 mxml标签与其对应的actionscript类使用相同的命名规则。类名以大写字母开头,使用大写字母分割每一个单词。当一个标签与一个actionscript类对应,标签的属性就和这个类的属性和事件相对应。 设置组件的属性在一个 mxml 中,你可以这样设置大部分组件的属性: Xml 代码 1.你可以用子标签设置组建的属性: Xml 代码
9、 1.2. 503. 254. Hello World5.建议在设置一个复合对象的属性的时候使用子标签,因为很难指定一个复合对象作为某个标签的属性。在下面的例子中,使用子标签来设置一个combobox控件的 data provider为一个 ArrayCollection对象。 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 13 页 - - - - - - - - - Xml 代码 1.2.3.4.AK5.AL6.AR 7.8.9.使用子标签的唯一限制就是子标签的命名空
10、间的前缀需要和所属组件的命名空间前缀保持一致。 组件的属性是以下这些类型的一种: ?标量属性,如number ,string ?标量值的数组,如number的数组, string的数组 ?actionscript对象 ?actionscript对象的数组 ?ActionScript的属性 ?XML adobe 推荐使用标量类型作为标签的属性,因为一旦使用复合对象做标签值,如actionscript对象,将会使用到子标签。 设置标量属性 使用常量来设置属性许多组件的有效的属性值被定义为静态常量,这些静态常量被定义在actionscript类中。在 mxml 中,你既可以使用静态常量来设置属性的值
11、,也可以使用静态常量的值来设置属性的值。就象下面这个例子: Xml 代码 1. 2.3. 4.5. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页 - - - - - - - - - 6.7. 8.HBox容器定义了一个horizontalScrollPolicy 的属性,这个属性定义了容器水平滚动条的操作类型。在这个例子中,指定这个horizontalScrollPolicy为 off ,禁用了水平滚动条。 在第一个例子中,使用一个名为OFF的静态常量来设置h
12、orizontalScrollPolicy属性。这个属性定义在ScrollPolicy类中。在 mxml中,需要使用数据绑定的语法来设置这个属性的值。(就是那个 ).这样做的好处是 flex编译器可以识别不正确的属性值,并且在变异时报错。 此外,你可以用这个静态常量的值来设置horizontalScrollPolicy 属性值。 OFF 的值是“ off ”。当使用静态常量的值来设置属性值,此时 flex编译器不能确定你是不是使用了这个属性不支持的值。如果不正确的设置了这个属性,你只有到代码运行到这里的时候,你才会得到一个运行时错误。 在 actionscript中,应该总是使用静态常量来设置
13、属性值,就象下面这个例子: Js 代码 1.var myHBox:HBox = new HBox(); 2.myHBox.horizontalScrollPolicy=ScrollPolicy.OFF; 在设置属性的时候可以使用对字符进行转义如, Xml 代码 1.2.3.4.将 label的 text设置为. mxml 编译器自动将mxml文件中作为某个字符串类型的属性的 替换为. 在字符串中使用换行符在字符串类型的属性中插入一个换行符有两种方法: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
14、- - - 第 5 页,共 13 页 - - - - - - - - - ?在 mxml文件中使用 来替换换行符。 ?在一个 actionscript变量中使用 n 来替代换行符,在用这个变量来初始化mxml的属性。 使用 编码来插入换行符 使用n 来替代换行符,在用这个变量来初始化mxml的属性, Xml 代码 1.2.3.7.8.9.注意,在这个例子中在属性定义以前,包含了Bindable这个元数据标签,这个元数据标签指定了mytext属性可以用来作为数据绑定的表达式。在运行时,当数据源属性发生变化的时候,数据绑定会自动的copy一个对象的属性源的值,放入目标对象的属性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年编译MXML详解及代码详解 2022 编译 MXML 详解 代码
限制150内