溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Flex4beta架構(gòu)變化的示例分析

發(fā)布時間:2021-12-16 16:28:44 來源:億速云 閱讀:126 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)Flex4beta架構(gòu)變化的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Flex4beta架構(gòu)變化概述

Flex4beta的重要主題之一是“用心設(shè)計”。這個目標(biāo)涉及在設(shè)計人員和開發(fā)人員之間創(chuàng)造一個更順暢的工作流程。為了幫助實(shí)現(xiàn)這一點(diǎn),該框架將組件可視部分與其剩余行為明確劃分開。在Flex3中,組件的代碼包括以其行為、布局和可視變化為中心的邏輯。在Flex4beta中,組件被劃分為不同的類,各個類負(fù)責(zé)處理特定的行為。

Gumbo架構(gòu)文檔*中的說明如下:

“主組件類,即類名與組件的MXML標(biāo)簽名匹配的那個類封裝了組件的核心行為。這包括定義組件調(diào)度的事件、組件表示的數(shù)據(jù)、接通作為主組件組成部分的任何子組件以及管理和跟蹤內(nèi)部組件狀態(tài)(稍后我們將詳細(xì)討論狀態(tài))。

與之相應(yīng)的組件類是一個外觀類,它負(fù)責(zé)管理與組件的可視外觀相關(guān)的一切內(nèi)容,包括圖形、布局、表示數(shù)據(jù)、更改不同狀態(tài)中的外觀以及從一個狀態(tài)過渡到另一個狀態(tài)。在Halo模型中,F(xiàn)lex組件外觀是只負(fù)責(zé)組件的某個圖形部分的資源。更改組件外觀的任何其他方面,如布局或狀態(tài)可視化,需要將組件子類化并直接編輯ActionScript代碼。在Gumbo模型中,所有這一切都在外觀類中以聲明方式進(jìn)行定義,并且主要通過名為FXG標(biāo)簽的新圖形標(biāo)簽進(jìn)行定義?!?/p>

要進(jìn)一步了解Flex4beta中新的圖形標(biāo)簽,您可以閱讀FXG1.0規(guī)范*。

作為上述架構(gòu)的示例,您可以參考spark.components.Button類的代碼。這個類只包含以組件行為為中心的邏輯。在外觀類spark.skins.default.ButtonSkin中定義這個惡組件的所有可視部分。

考慮到性能,F(xiàn)lex4beta為開發(fā)人員提供了構(gòu)造塊,可供他們根據(jù)需要選擇功能。默認(rèn)情況下,關(guān)閉并非所有應(yīng)用程序都需要的重量級功能,如滾動和虛擬化。

Flex4beta中的名稱空間與包

在將Flex3類原封不動地保留在同一mx.*包中的同時,F(xiàn)lex4beta為組件、核心類、效果、濾鏡、布局、基元、外觀和utils引入了spark.*包。

Flex4beta提供一套新的組件和效果,它們與Flex3組件共享許多相同類名。為了避免MXML中出現(xiàn)名稱沖突,F(xiàn)lex4beta隨附四個獨(dú)特的名稱空間:MXML2006、MXML2009、Spark和Halo。

MXML2006:

之前版本的Flex中使用的舊版MXML語言名稱空間。使用Flex4beta編譯的Flex3應(yīng)用程序可以繼續(xù)使用這個名稱空間。

URI:http://www.adobe.com/2006/mxml

默認(rèn)前綴:mx

MXML2009:

新的MXML語言名稱空間。這純粹是一個語言名稱空間,不包含組件標(biāo)簽。

URI:http://ns.adobe.com/mxml/2009
默認(rèn)前綴:fx

Spark:

這個名稱空間包含所有新的Spark組件。它應(yīng)當(dāng)與MXML2009語言名稱空間一起使用。

URI:library://ns.adobe.com/flex/spark
默認(rèn)前綴:s

Halo:

這個名稱空間包含所有Halo組件。它應(yīng)當(dāng)與MXML2009語言名稱空間一起使用。

URI:library://ns.adobe.com/flex/halo
默認(rèn)前綴:mx

以下是使用MXML2009、Spark和Halo名稱空間創(chuàng)建一個簡單的Flex4beta應(yīng)用程序的簡明示例。它使用一個HaloDateChooser和一個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中加入了多名稱空間支持。如果將MXML2009、Spark和Halo名稱空間與字體選擇器一起使用,您需要在CSS定義中定義一組名稱空間以避免名稱沖突。

以下是一個將字體選擇器用于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語言允許Application根標(biāo)簽包含可視子代和非可視子代。可視子代與addChild()一起添加到Application,非可視子代則作為屬性聲明。隨后,表示新屬性聲明的非可視子代不可以作為Application的直接子代。您可以將這些非可視子代添加到<fx:Declarations>標(biāo)簽下。這包括效果、驗(yàn)證程序、格式化程序、數(shù)據(jù)聲明和RPC類等非可視子代。以下是一個簡短的示例:

<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)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI