关于flash builder 4 命名空间问题 【xmlns】
发布时间:2020-12-15 06:33:48 所属栏目:百科 来源:网络整理
导读:? 前两天开始使用flash builder4,可能很多人都跟我一样,拿着flex3的书用flash builder 4敲代码,一敲发现不是没有控件就是各种提示错误,明明是照书上敲的
?
前两天开始使用flash builder4,可能很多人都跟我一样,拿着flex3的书用flash builder 4敲代码,一敲发现不是没有控件就是各种提示错误,明明是照书上敲的啊……其实就是最开始那一行搞的鬼,别用系统自动生成的设置:
xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/halo" xmlns:s="library://ns.adobe.com/flex/spark" 这 三个命名空间是新增的,控件和方法跟原来都不一样了。改成xmlns:mx="http://www.adobe.com/2006/mxml"这一条就 完全能兼容flex3的代码了,再转到设计模式看看,甚至连spark的控件都变成halo的了(就是原来flex builder 3的设计模式),Adobe为flex4写了并行的两个包,原来的MX还能用,但是默认推荐用spark的(功能更强大,但是现在一本书都没有,除了帮助 文档),要用flex3 的书学习的话,只要改命名空间为原来的xmlns:mx="http://www.adobe.com/2006/mxml"就可以完全兼容了,连代码提 示都会出来(像VBox这样的spark删掉的空间也出来啦,可以直接拖拽了)。 前几天,不知道网上哪个不懂装懂的……居然说,要在flash builder 4里面运行flex3的代码要把原有的命名空间改成现在系统生成的那三条,还要加什么编译变量……完全反着来了!!!很不幸,我跟看到宝似的,马上照做, 结果整了两天,各种莫名奇妙的错误出来,连复制粘贴的源代码都运行错误,郁闷死了,大家别在犯同样的错误啊~flash builder 4 本来就兼容flex3 的代码,开关就是那条命名空间声明。 这里还有一篇详细说命名空间 的:http://wonlen.javaeye.com/blog/402467 得了我把它贴过来吧: 众所周知,Flex SDK 4(Gumbo)增加了一些命名空间,请看如下: xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/halo" xmlns:s="library://ns.adobe.com/flex/spark" 1、 xmlns:fx="http://ns.adobe.com/mxml/2009" 定义了顶级的ActionScript 3.0一些顶级的方法、全局函数和全局常量等内容。 例如我们常用的一些数据类型:Number、int、Boolean、Array、 String等。 在《Adobe Flex 4 Beta Language Reference》里面的这个链接中会有详细描述。 关于 这个命名空间的内容,全部定义在Flash Builder安装目录下面的sdks4.0.0frameworksmxml-2009-manifest.xml里面。 2、 xmlns:mx="library://ns.adobe.com/flex/halo" 使用过Flex SDK 2 和 Flex SDK 3的朋友就不会陌生了,这个命名空间(NameSpace)里面的内容是mx.*下面的全部内容,请注意一下,其中halo的名字就是Flex SDK 2 和 Flex SDK 3里面默认的CSS样式。 关于这个命名空间的内容,全部定义在Flash Builder安装目录下面的sdks4.0.0frameworkshalo-manifest.xml里面。 3、 xmlns:s="library://ns.adobe.com/flex/spark" 这是Flex SDK 4(Gumbo)里面新增加的组件库。包含了Flex SDK 4(Gumbo)里面全部的spark.* 和 flashx.* packages里面的部分内容(text framework class) 关于这个命名空间的内容,全部定义在Flash Builder安装目录下面的sdks4.0.0frameworksspark-manifest.xml里面。 其中的一些我认 为必要了解的内容: 1、xmlns:mx="library://ns.adobe.com/flex/halo" 和 xmlns:s="library://ns.adobe.com/flex/spark"是平级的,而xmlns:fx="http: //ns.adobe.com/mxml/2009"是ActionScript 3.0顶级的内容。也就是说,如果在某一个Project里面只使用halo的话,则可以在Application里面去掉spark的定义。(反之亦 然) 2、xmlns:mx="library://ns.adobe.com/flex/halo" 和 xmlns:s="library://ns.adobe.com/flex/spark"其中有一部分是公用的,这点请大家注意一下(关于为什么是公用 的,我猜测是为了让Flex SDK 2 和 Flex SDK 3迁移到Flex SDK 4(Gumbo)的过程更方便一些造成的。) 3、 xmlns:fx="http://ns.adobe.com/mxml/2009"保留Flex SDK 2 和 Flex SDK 3时代的一些顶级包以外,还新增加了一些标签, 如:<Declarations>、<DesignLayer><Library><Private><Reparent> 4、 当需要定义一个在xmlns:mx="library://ns.adobe.com/flex/halo" 和 xmlns:s="library://ns.adobe.com/flex/spark"都存在的组件或者意义相同的组件,Adobe建议使用 spark,而不是原来的halo。 PS:本篇文章部分内容来自Using ADOBE? FLEX? 4 和 ADOBE FLEX ?Gumbo Preview Release Features and Migration Guide 这两篇Adobe的文档。
PS:本文转自——
http://hi.baidu.com/flexok/blog/item/f314c01415cfac0c203f2e61.html
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 企业开发:选Flex还是HTML5?
- 结合flex socket以递归方式实现多文件断点上传文件
- The Swift Code之设置UIButton的不同方式创建,以及不同的状
- 从Rails 3.0升级到Rails 3.2(Ruby 1.9.3 Passenger)后出现大
- c# – LINQ Any()和Single()与SingleOrDefault()的空检查
- C表达式模板
- 在C#/ Forwarding JS变量中读取JS变量到visual studio性能测
- npm install -g react-native-cli 提示npm ERR! Windows_NT
- C#BouncyCastle RSA加密和解密
- fastjson包JSONObject.toJSON导致部分属性丢失问题