溫馨提示×

溫馨提示×

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

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

Flex4beta架構變化的示例分析

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

這篇文章給大家分享的是有關Flex4beta架構變化的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Flex4beta架構變化概述

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

Gumbo架構文檔*中的說明如下:

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

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

要進一步了解Flex4beta中新的圖形標簽,您可以閱讀FXG1.0規范*。

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

考慮到性能,Flex4beta為開發人員提供了構造塊,可供他們根據需要選擇功能。默認情況下,關閉并非所有應用程序都需要的重量級功能,如滾動和虛擬化。

Flex4beta中的名稱空間與包

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

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

MXML2006:

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

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

默認前綴:mx

MXML2009:

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

URI:http://ns.adobe.com/mxml/2009
默認前綴:fx

Spark:

這個名稱空間包含所有新的Spark組件。它應當與MXML2009語言名稱空間一起使用。

URI:library://ns.adobe.com/flex/spark
默認前綴:s

Halo:

這個名稱空間包含所有Halo組件。它應當與MXML2009語言名稱空間一起使用。

URI:library://ns.adobe.com/flex/halo
默認前綴:mx

以下是使用MXML2009、Spark和Halo名稱空間創建一個簡單的Flex4beta應用程序的簡明示例。它使用一個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>

◆默認Property和Declarations標簽

在Flex4beta發布之前,Flex語言允許Application根標簽包含可視子代和非可視子代??梢曌哟caddChild()一起添加到Application,非可視子代則作為屬性聲明。隨后,表示新屬性聲明的非可視子代不可以作為Application的直接子代。您可以將這些非可視子代添加到<fx:Declarations>標簽下。這包括效果、驗證程序、格式化程序、數據聲明和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>

感謝各位的閱讀!關于“Flex4beta架構變化的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女