Flex 3 功能预览(3): flex组件和SDK的改进

来源:互联网 发布:证大财富淘宝贷通过率 编辑:程序博客网 时间:2024/06/11 03:42

Flex3 Flex SDK和组件的改进的地方很多,加入了很多新的类/组件/功能. 例如AdvancedDataGrid 新的集合类,深层链接接口(BrowserManager), 资源包,动态本地化,支持容器的Flex Component Kit for Flash CS3. 这些新增功能加强了和AJAX的整合,提供了高级视觉效果和对复杂的资源管理、本地化。


AdvancedDataGrid:


AdvancedDataGrid 组件可以对分层数据和表格数据设置复杂的视图。新的集合类用来表示这些新的类型的数据。同时提供了一些辅助类把来列分成几个群,提供了SummaryObjectsSummaryRows 。下面是新加入的集合类

mx.collections.HierarchicalData
mx.collections.Grouping
mx.collections.GroupingCollection
mx.collections.GroupingField
mx.collections.HierarchicalCollectionView
mx.collections.HierarchicalCollectionViewCursor
mx.collections.ListCollectionView
mx.collections.SummaryField
mx.collections.SummaryObject
mx.collections.SummaryRow


下面是AdvancedDataGrid一些图片。














深层链接(deep linking)

Flex3的深层链接组件(BrowserManager)提供了管理URL中的数据的功能。它是通过html Achor(#)来实现的。BrowserManager类可以把flex程序绑定到URL中的数据和监听URL的改变。这个功能使得flex可以通过URL来持续化,同时提供了一种新的给flex程序输入参数的方法。新加入的类包括


mx.events.BrowserChangeEvent;
mx.managers.IBrowserManager;
mx.managers.BrowserManager;
mx.utils.URLUtil;
Application.historyManagementEnabled


这个功能最酷的地方是你可以把它用到很多其它场合。比如你可以用它来同步URLFlex程序的状态。


Deep Link 1
Deep Link 2


资源包和动态本地化


MXML编译器能创建资源包文件(swf文件)。这些资源包可以从java .properties文件中,用类似下面的属性表来生成。


YES_LABEL= Yes
DATE_FORMAT = MM/DD/YYYY
AGE_OF_CONSENT = 16
SOME_FLAG = true


这些数据会被编译成swf文件中的Object。它们被压缩了并能够快速载入。最要的是生成的数据可以动态的创建和载入到ResourceManager中。使用如下


//createa resource bundle in AS3 and add to Resource Manager
var newBundle:ResourceBundle = new ResourceBundle("fr_FR","myBundle");
newBundle.content["OPEN"] = "Ouvrir";
newBundle.content["CLOSE"] = "Ferme";
resourceManager.addResourceBundle(newBundle);


资源包给程序的本地化提供了支持。你可以创建多种语言的资源包来动态切换它们。

在程序中绑定到资源很简单。写程序时,如果你绑定到资源包中的值,那么改资源包所有字符串都会编译和加载。



绑定到资源包


.5


ActionScript 3读从资源包取带类型的数据


fooBundle.getNumber("AGE_OF_CONSENT")


从URL载入资源包


resourceManager.loadResourceBundles(url);


Flex Component Kit for Flash CS3:


Flexcomponent kit for Flash CS3目前已经发布了。Flex3对其进行了改进,加入对容器和多种动画的支持


Sample




 本文转自:http://www.flexcoders.cn/showtopic-697.aspx