這篇文章給大家分享的是有關(guān)Flex4beta架構(gòu)變化的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)專(zhuān)注于天柱企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城開(kāi)發(fā)。天柱網(wǎng)站建設(shè)公司,為天柱等地區(qū)提供建站服務(wù)。全流程按需定制設(shè)計(jì),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
Flex4beta架構(gòu)變化概述
Flex4beta的重要主題之一是“用心設(shè)計(jì)”。這個(gè)目標(biāo)涉及在設(shè)計(jì)人員和開(kāi)發(fā)人員之間創(chuàng)造一個(gè)更順暢的工作流程。為了幫助實(shí)現(xiàn)這一點(diǎn),該框架將組件可視部分與其剩余行為明確劃分開(kāi)。在Flex3中,組件的代碼包括以其行為、布局和可視變化為中心的邏輯。在Flex4beta中,組件被劃分為不同的類(lèi),各個(gè)類(lèi)負(fù)責(zé)處理特定的行為。
◆Gumbo架構(gòu)文檔*中的說(shuō)明如下:
“主組件類(lèi),即類(lèi)名與組件的MXML標(biāo)簽名匹配的那個(gè)類(lèi)封裝了組件的核心行為。這包括定義組件調(diào)度的事件、組件表示的數(shù)據(jù)、接通作為主組件組成部分的任何子組件以及管理和跟蹤內(nèi)部組件狀態(tài)(稍后我們將詳細(xì)討論狀態(tài))。
與之相應(yīng)的組件類(lèi)是一個(gè)外觀類(lèi),它負(fù)責(zé)管理與組件的可視外觀相關(guān)的一切內(nèi)容,包括圖形、布局、表示數(shù)據(jù)、更改不同狀態(tài)中的外觀以及從一個(gè)狀態(tài)過(guò)渡到另一個(gè)狀態(tài)。在Halo模型中,F(xiàn)lex組件外觀是只負(fù)責(zé)組件的某個(gè)圖形部分的資源。更改組件外觀的任何其他方面,如布局或狀態(tài)可視化,需要將組件子類(lèi)化并直接編輯ActionScript代碼。在Gumbo模型中,所有這一切都在外觀類(lèi)中以聲明方式進(jìn)行定義,并且主要通過(guò)名為FXG標(biāo)簽的新圖形標(biāo)簽進(jìn)行定義。”
要進(jìn)一步了解Flex4beta中新的圖形標(biāo)簽,您可以閱讀FXG1.0規(guī)范*。
作為上述架構(gòu)的示例,您可以參考spark.components.Button類(lèi)的代碼。這個(gè)類(lèi)只包含以組件行為為中心的邏輯。在外觀類(lèi)spark.skins.default.ButtonSkin中定義這個(gè)惡組件的所有可視部分。
考慮到性能,F(xiàn)lex4beta為開(kāi)發(fā)人員提供了構(gòu)造塊,可供他們根據(jù)需要選擇功能。默認(rèn)情況下,關(guān)閉并非所有應(yīng)用程序都需要的重量級(jí)功能,如滾動(dòng)和虛擬化。
◆Flex4beta中的名稱(chēng)空間與包
在將Flex3類(lèi)原封不動(dòng)地保留在同一mx.*包中的同時(shí),F(xiàn)lex4beta為組件、核心類(lèi)、效果、濾鏡、布局、基元、外觀和utils引入了spark.*包。
Flex4beta提供一套新的組件和效果,它們與Flex3組件共享許多相同類(lèi)名。為了避免MXML中出現(xiàn)名稱(chēng)沖突,F(xiàn)lex4beta隨附四個(gè)獨(dú)特的名稱(chēng)空間:MXML2006、MXML2009、Spark和Halo。
MXML2006:
之前版本的Flex中使用的舊版MXML語(yǔ)言名稱(chēng)空間。使用Flex4beta編譯的Flex3應(yīng)用程序可以繼續(xù)使用這個(gè)名稱(chēng)空間。
URI:http://www.adobe.com/2006/mxml
默認(rèn)前綴:mx
MXML2009:
新的MXML語(yǔ)言名稱(chēng)空間。這純粹是一個(gè)語(yǔ)言名稱(chēng)空間,不包含組件標(biāo)簽。
URI:http://ns.adobe.com/mxml/2009
默認(rèn)前綴:fx
Spark:
這個(gè)名稱(chēng)空間包含所有新的Spark組件。它應(yīng)當(dāng)與MXML2009語(yǔ)言名稱(chēng)空間一起使用。
URI:library://ns.adobe.com/flex/spark
默認(rèn)前綴:s
Halo:
這個(gè)名稱(chēng)空間包含所有Halo組件。它應(yīng)當(dāng)與MXML2009語(yǔ)言名稱(chēng)空間一起使用。
URI:library://ns.adobe.com/flex/halo
默認(rèn)前綴:mx
以下是使用MXML2009、Spark和Halo名稱(chēng)空間創(chuàng)建一個(gè)簡(jiǎn)單的Flex4beta應(yīng)用程序的簡(jiǎn)明示例。它使用一個(gè)HaloDateChooser和一個(gè)SparkButton。
<s:Applicationxmlns:fxs:Applicationxmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo"> <mx:DateChooseridmx:DateChooserid="main_calendar"x="20"y="20"/> <s:Buttonlabels:Buttonlabel="submit"x="220"y="20"/> </s:Application>
Flex4beta還在CSS中加入了多名稱(chēng)空間支持。如果將MXML2009、Spark和Halo名稱(chēng)空間與字體選擇器一起使用,您需要在CSS定義中定義一組名稱(chēng)空間以避免名稱(chēng)沖突。
以下是一個(gè)將字體選擇器用于Halo和Spark組件的CSS示例:
<fx:Style> @namespaces"library://ns.adobe.com/flex/spark"; @namespacemx"library://ns.adobe.com/flex/halo"; s|Button{color:#FF0000;}mx|DateChooser{color:#FF0000;} </fx:Style>
◆默認(rèn)Property和Declarations標(biāo)簽
在Flex4beta發(fā)布之前,F(xiàn)lex語(yǔ)言允許Application根標(biāo)簽包含可視子代和非可視子代。可視子代與addChild()一起添加到Application,非可視子代則作為屬性聲明。隨后,表示新屬性聲明的非可視子代不可以作為Application的直接子代。您可以將這些非可視子代添加到<fx:Declarations>標(biāo)簽下。這包括效果、驗(yàn)證程序、格式化程序、數(shù)據(jù)聲明和RPC類(lèi)等非可視子代。以下是一個(gè)簡(jiǎn)短的示例:
<s:Applicationxmlns:fxs:Applicationxmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"> <fx:Declarations><s:Fadeids:Fadeid="fadeEffect"target="{targetButton}"alphaFrom="1"alphaTo="0"/> </fx:Declarations><s:Buttonids:Buttonid="targetButton"/> <s:Buttonlabels:Buttonlabel="playeffect"click="fadeEffect.play()"x="80"/> </s:Application>
感謝各位的閱讀!關(guān)于“Flex4beta架構(gòu)變化的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
網(wǎng)站標(biāo)題:Flex4beta架構(gòu)變化的示例分析
網(wǎng)頁(yè)網(wǎng)址:http://www.chinadenli.net/article36/pidjsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站策劃、服務(wù)器托管、企業(yè)網(wǎng)站制作、Google、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)