資源描述:
《spark組件halo組件和flex4的命名空間》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、第5課 Spark組件、Halo組件和Flex4命名空間2010-08-3116:23張猛譯人民郵電出版社?我要評論(0)?字號:T?
2、?T綜合評級:想讀(0)???在讀(0)???已讀(5)????品書齋鑒(0)????已有5人發(fā)表書評《Flex4一學就會》教你輕松掌握Flex4。第1章我們將學習如何獲得Flex4,如何構建基本的Flex4應用程序。我們的目標是掌握Flex應用程序的基本結構和基本語法。另外,本章還會介紹Flex4體系的整體情況。本節(jié)說的是Spark組件、Halo組件和Flex4命名空間。AD:第5課 Spark組件、Halo組件和Flex4命名
3、空間在繼續(xù)學習之前,我們應該正視你第一次查看Flex4應用程序時注意到的一件事:命名空間以及為什么需要使用3個命名空間。為了掌握這個概念,我們需要了解關于Flex組件的小故事。?曾幾何時(在Flex1.0、Flex1.5、Flex2和Flex3中),所有組件都是所謂的"Halo"(光暈)組件,因為這些組件都有漂亮的光暈。(如果我沒記錯,在Flex1.0和Flex1.5中是綠色的,在Flex2和Flex3中是藍色的。)不論如何,既然有這么一套組件,它們就一直在同一個命名空間內。在Flex3中,這個命名空間是http://www.adobe.com/?2006/mxm
4、l,所以Flex應用程序看起來總是這樣的:?很簡單,是吧?這個命名空間被分配的前綴是mx,這樣你就可以編寫出mx:Button或mx:Application這樣的代碼。但是,這種簡化隱藏了一個大問題:Halo組件不便于設計人員換膚,這意味著如果沒有大量的編程工作,就無法改變它們的外觀。給這些組件換膚超出了CSS(層疊樣式表)的功能,通常必須繼承它們并編寫大量自定義代碼。由于Flash和Flex正在努力進入許多面向設計的開發(fā)機構,因此換膚這類事情的發(fā)生機會遠遠超過普通Java開發(fā)人員或.NET開發(fā)人員的想象。沒人希望費力地去改變Flex核心組件行為機構的時間表和最后
5、期限。Adobe公司比大多數大公司更了解設計師,所以Adobe公司為Flex4制定的一個主題就是"隨心設計"。從營銷的角度說,這意味著Adobe公司更在意設計師-開發(fā)人員這一工作流程,并努力優(yōu)化這一流程。??在這節(jié)課中,我們看看只使用Halo組件的Flex4應用程序是什么樣。我們創(chuàng)建的應用程序與上一課的相同,也是一個TodoList。這很有用,因為作為Flex開發(fā)人員,你可能每天仍然需要使用一些Halo組件(我們將在第5章中介紹其中一些)。開發(fā)過Flex3應用程序的人會發(fā)現下面的代碼很眼熟。session05/src/TodoList.mxml???對Flex新手
6、來說,Halo應用程序的根標記是mx:Application?;仡櫱懊娴膶嵱栒n,可以看到以前用的根標記是s:Application(針對Spark應用程序)。我們創(chuàng)建了3個XML命名空間:第一個的前綴是fx,代表核心Flex命名空間(http://ns.adobe.com/mxml/2009)。第二個的前綴是s,代表新的Spark組件命名空間(library://ns.adobe.com/flex/spark)。第三個的前綴是mx,代表舊的Halo組件命名空間(library://ns.adobe.com/flex/halo)。最后,我們創(chuàng)建了一堆Halo組件,如
7、Panel、HBox、Label、List和ControlBar。Halo的HBox和VBox相當于Spark中的HGroup和VGroup。下面我們創(chuàng)建與第3課中的Task類相同的Task類。session05/src/com/pomodo/model/Task.as?運行應用程序,結果如下圖所示。?有過Flex3經驗的人可能感到驚訝:這個效果根本不像Flex3的Halo應用程序!原因很簡單:Adobe公司了解你在Flex4中需要將Halo和Spark組件混合使用,需要新老組件的外觀匹配,所以他們在Flex4中改變了Halo組件的樣式,以便與Spark組件匹配。
8、?要點因為Flex4引入了一套全新的組件(Spark組件),所以Flex4應用程序通常使用3個XML命名空間。舊的Halo組件是Flex1至Flex3中使用的組件。按約定,它們使用mx前綴。Halo組件的命名空間是library://ns.adobe.com/flex/halo。在Spark還沒有對應組件時,還需要使用Halo組件,例如DataGrid。按約定,新的Spark組件使用s前綴,代表新的命名空間library://ns.adobe.com/flex/spark。這些組件具有"隨心設計"的特點,使設計人員和開發(fā)人員可以和諧共處。fx前綴代表核心Flex命
9、名空間(h