技術(shù)分享 如何將Flex3應(yīng)用程序遷移到Flex4beta
在學(xué)習(xí)Flex的過程中,你可能會遇到將Flex3應(yīng)用程序遷移到Flex4beta方面的問題,這里和大家分享一下,相信本文介紹一定會讓你有所收獲。
將Flex3應(yīng)用程序遷移到Flex4beta
將Flex3應(yīng)用程序遷移到Flex4beta時(shí),步驟并不復(fù)雜。除了一些缺陷修復(fù)以及默認(rèn)主題稍有變化,您的應(yīng)用程序通常可以像Flex3中那樣正常運(yùn)行(或更好)。但您必須注意幾點(diǎn)。
播放器依賴性
請務(wù)必針對FlashPlayer10進(jìn)行編譯。Flex4beta需要FlashPlayer10支持。
字體選擇器需要一個(gè)名稱空間
CSS字體選擇器將Flex類命名為style。例如,以下是Button和DateField的字體選擇器:
- Button{cornerRadius:10;}DateField{color:#780800;}
從Flex4beta開始,當(dāng)應(yīng)用程序使用字體選擇器時(shí),需要名稱空間。如果您只在Flex應(yīng)用程序中使用MXML2006名稱空間,請將以下默認(rèn)名稱空間聲明添加到CSS中:
- <mx:Style>@namespace"http://www.adobe.com/2006/mxml";…</mx:Style>
如果在應(yīng)用程序中使用多個(gè)名稱空間,您需要在CSS中提供各個(gè)名稱空間。有關(guān)示例,請參閱本文稍后部分中的Flex4beta中的名稱空間與包。
此外,如果應(yīng)用程序使用StyleManager.getStyleDeclaration("Button")等方法,字體選擇器必須包含它的包。例如,對getStyleDeclaration()的調(diào)用將改為StyleManager.getStyleDeclaration("mx.controls.Button")。
主題更改
Flex3(Halo)組件的默認(rèn)主題目前是Spark主題。因此,當(dāng)您使用Flex4beta編譯應(yīng)用程序時(shí),它可能會自行調(diào)整外觀和大小。但是,如果要使用Flex3的外觀,您還是可以做到的,因?yàn)镕lex4beta包含F(xiàn)lex3的Halo主題。要使用Halo主題進(jìn)行編譯,您可以使用-compatibility-version=3.0標(biāo)志或使用-theme作為附加編譯器參數(shù)來編譯應(yīng)用程序。在FlashBuilder4beta中,您可以通過更改“Properties”(屬性)面板的“FlexCompiler”(Flex編譯器)部分中的“AdditionalCompilerArguments”(其他編譯器參數(shù))設(shè)置做到這一點(diǎn)(請參閱圖1)。如果要使用其他編譯器參數(shù),請確保framework/themes/Halo目錄包含在您的源路徑中。
圖1.設(shè)置其他編譯器參數(shù)
如果您選擇使用新的Spark主題,請注意許多可用于Halo主題的樣式無法用于Spark主題。Spark主題只支持?jǐn)?shù)量有限的樣式,包括baseColor、color、contentBackgroundColor、focusColor、symbolColor、selectionColor和rollOverColor。要使用Spark主題更改組件上的邊框或圓角等可視部分,您需要?jiǎng)?chuàng)建一個(gè)自定義外觀。Flex4beta還加入了一種設(shè)計(jì)用于快速模型的線框外觀。
除了主題更改外,F(xiàn)lex4beta應(yīng)用程序的默認(rèn)預(yù)下載器也已經(jīng)改為mx.preloaders.SparkDownloadProgressBar。這個(gè)更輕量級的預(yù)下載器可以縮短一些啟動(dòng)時(shí)間。如果要使用Flex3預(yù)下載器,您只需更改一行代碼。在Application標(biāo)簽中添加以下內(nèi)容:preloader="mx.preloaders.DownloadProgressBar"。
如果要將應(yīng)用程序從Flex3遷移到Flex4beta,我不建議將各個(gè)Flex3Halo組件替換為它們對應(yīng)的Flex4beta組件。這樣投入時(shí)間可能并不是一個(gè)好方法。您應(yīng)當(dāng)為新的應(yīng)用程序轉(zhuǎn)而使用Flex4beta組件架構(gòu)。
【編輯推薦】
- Flex4beta的Spark布局特性解析
- FlexBuilder4十大新特性閃亮登場
- Flex module用法指南
- Flex4Beta引入新元素功能更強(qiáng)大
- FlexBuilder開發(fā)方法及特點(diǎn)解析