解析FlexSDK4的八大新特性

开发 后端
本文向大家介绍一下FlexSDK4新特性,在FlashBuilder4以前,Adobe默认的主题是Halo,而从FlashBuilder4开始,默认的主题变成了Spark。

在学习Flex的过程中,难免会遇到FlexSDK4方面的问题,这里和大家分享一下FlexSDK4新特性,希望对你的学习有所帮助。

FlexSDK4新特性

FlexSDK4新特性一、主题

在FlashBuilder4以前,Adobe默认的主题是Halo,而从FlashBuilder4开始,默认的主题变成了Spark。FlashBuilder4中包含了9款默认主题,其中两款Spark主题,七款Halo主题。

在FlashBuilder4中同时存在了两组控件,分别是:之前的mx.*和新加入的spark.*。

怎样为项目选择Flex主题?

新建Flex项目,右击项目选择"属性",在弹出的对话框中的左侧选择"Flex主题",之后就可以看到FlashBuilder自带的Flex主题,我们看到其中有两套Flex主题,分别是:Spark和Halo。可以进行删除主题,导入主题操作等,选择好之后,点击"确定"即可,此时就为项目切换了Flex主题。

注意:1.主题的默认存放位置在FlashBuilder4安装目录/sdks/4.0.0/frameworks/themes/

2.在新建的Flex项目中的.actionScriptProperties文件中可以看到项目主题的配置。

Flex主题深入

我们可以看一下主题包中到底有什么,例如:将主题包中的wireframe.swc改名为wireframe.zip,解压。解压后可见下面这些文件。

很明显default.css是主题的样式设置,我们可以对其修改以改变主题的配置。

FlexSDK4新特性二、布局

在Flex4中,布局已经从控件中剥离出来。这样我们可以更加灵活的对控件进行布局,比如在运行时将容器的布局方式由横向改为纵向。这在Flex3中是很难实现的。

在Flex4的spark包中已经没有了原来的Hbox,Vbox,Box以及Canvas容器,取而代之的是Group,另一个新的容器是SkinnableContainer,它与Group的区别是我们可以为它定义皮肤,Group不能定义皮肤但有更高的执行效率以及使应用程序的体积更小。

除了控件的布局方式改变外,Flex4中的滚动条也从控件中剥离了出来,默认的容器是没有滚动条以及virtualization的。

FlexSDK4新特性三、特效

Flex4中的特效都继承于Animate类,Animate继承于Effect类。

FlexSDK4新特性四、样式

在Flex4中,对Css的支持有了质的飞跃。在Flex4以前,Flex对Css的支持是很别扭的,相对于HTML强大的Css功能,Flex只能说继承了很表面的一部分。

在Flex4中在新的样式设置中增加了对名称空间的支持,这主要针对不同控件包中的控件设置样式。比如:

  1. @namespaces"library://ns.adobe.com/flex/spark";  
  2.  
  3. @namespacemx"library://ns.adobe.com/flex/halo";  

FlexSDK4新特性五、状态

State在FlexSDK4中将变得更加的灵活而且好用。

·States数组里现在只定义一组state,不会再出现其他的标签.

FlexSDK4新特性六、双向绑定

Flex中一个很有用的功能是数据的绑定,比如我们有属性a,以及输入框b,我们可以把属性a与输入框b绑定起来,这样改变a的值时,输入框b的值也会相应变化。这种绑定是单项的。在FlexSDK4以前没有直接的双向绑定,所以当我们想反过来通过设置b的值来改变a时就会比较麻烦。而Flex4为我们提供了双向绑定的方法。

注意:在样式,特效,数据服务以及远程对象的使用时是不能使用双向绑定的。

FlexSDK4新特性七、ASDoc

ASDoc一款用于生成代码说明书的工具,它能自动将我们书写在程序中的注释转换为说明书中控件属性,方法等的说明。所以如果我们非常规范的书写了自定义控件的注释,在***我们可以通过一个简单的命令生成一本控件的说明书。

FlexSDK4新特性八、SWFObject与HTMLTemplate

在每个Flex4项目中都有一个html-template文件夹,里面的内容如下:

1.首先了解一下history文件夹的内容

history.js,history.css以及historyFrame.html用于记录Flex程序中每一个state的地址,比如我们从state1,切换到state2时它为我们保存对应这些state的浏览器地址。如果我们在项目中激活“允许继承浏览器导航功能的选项”,那就意味着我们可以:

1)通过前进和后退返回在程序中访问过的state。

2)将某一state的地址保存进收藏夹,以后可以直接通过地址打开的这个state的页面

3)将某一state的地址给其他人,它们可以直接链接到这个states页面。

换句话说如果我们整个程序的试图切换都用state方式,那么我们可以像浏览普通网页一样在浏览器中访问我们程序的任意指定页面。

2.html-template以及swfobject

html-template的作用是在编译生成项目时生成一个Html页面,用户通过访问Html页面来访问程序,而不是直接访问生成的swf文件。为什么不直接访问swf文件?因为html-template除了显示swf程序外还帮我们做了很多其他事,比如:

1)引用history系列文件来支持浏览器导航。

2)检测用户Flashplayer版本,一键自动安装。

3)页面标题,编码,宽度,程序质量,等等。

在Flex4之前,是直接使用一段javascript加入到html-template文件中实现上述功能,而从Flex4开始,正式引入了swfobject2,它是一个开源的标准库,用于将swf嵌入到html页面,以及实现一些其他的功能。
 

【编辑推荐】

  1. 使用FlexSDK4时三大注意事项
  2. FlexBuilder4十大新特性闪亮登场
  3. 学习总结 在Flex中如何嵌入Flex字体
  4. FlexSDK4 三大Gumbo主题实现快速RIA开发
  5. FlexBuilder开发方法及特点解析 

 

 

责任编辑:佚名 来源: 163.com
相关推荐

2010-08-10 09:15:55

FlexSDK4

2010-08-31 13:10:40

2010-08-10 08:49:32

FlexSDK4

2010-08-10 08:54:12

FlexSDK4

2010-08-02 14:23:56

FlexBuilder

2010-07-27 14:12:01

FlexSDK4

2010-08-05 15:33:01

FlexBuilder

2023-03-22 17:11:20

物联网人工智能智能建筑

2009-07-07 12:30:38

JDK1.6

2011-04-02 09:45:00

Ubuntu 11.0特性

2015-10-26 09:04:21

PHP7新特性

2012-02-14 09:59:05

Windows 8Linux

2021-12-04 22:06:54

Kubernetes平台容器

2010-09-01 13:23:52

CSS3

2010-08-05 13:33:06

Flex布局规则

2009-07-03 17:40:35

JSP2.0

2010-01-20 10:02:52

SQL Server2

2012-05-28 15:51:35

Windows 8

2011-12-14 16:15:17

MySQL

2014-11-04 16:50:35

点赞
收藏

51CTO技术栈公众号