技術(shù)前沿 剖析Flex4beta效果中的變化
在學(xué)習(xí)Flex4beta的過程中,難免會(huì)遇到Flex4beta效果中的變化,這里和大家分享一下,Flex4beta效果架構(gòu)改進(jìn)顯著。雖然Halo效果只能用于不基于UIComponent的控件,Spark效果可用于任何目標(biāo),包括框架中的新圖形基元。所有這些效果類都包含在spark.effects.*package中。
Flex4beta效果中的變化
Flex4beta效果架構(gòu)改進(jìn)顯著。雖然Halo效果只能用于不基于UIComponent的控件,Spark效果可用于任何目標(biāo),包括框架中的新圖形基元。所有這些效果類都包含在spark.effects.*package中。由于Spark效果可用于Halo組件、Spark組件和圖形基元,Adobe建議您在今后的應(yīng)用程序中使用Spark效果類。
我并未贅述這一問題,因?yàn)槟梢酝ㄟ^ChetHaase的AdobeFlex4SDKbeta中的效果一文了解效果類中新增功能的更多詳細(xì)信息。
布局中的變化
之前的Flex版本在各個(gè)控件中定義組件和容器布局。因此,List、TileList和HorizontalList等組件都共享布局以外的相同功能。而它們的布局邏輯仍在這些組件類中進(jìn)行定義。在Flex4beta中,布局已與組件剝離開來?,F(xiàn)在,Application、List、ButtonBar和Panel等Spark組件可以通過聲明方式定義布局。在所有組件中,Group類負(fù)責(zé)管理包含,而Group的子代的布局則委派到相關(guān)的布局對(duì)象。布局除了FXG圖形基元,還支持Spark和Halo組件。甚至可以在運(yùn)行時(shí)更改布局。
作為開發(fā)人員,您可以輕松編寫自定義布局并將它們切入或切出個(gè)別組件。以下是定義垂直List、水平List和拼貼List的一個(gè)示例。
垂直List(SparkList的默認(rèn)布局是VerticalLayout):
- <s:List/>
水平List:
- <s:List><s:layout><s:HorizontalLayout/></s:layout>
- </s:List>
拼貼List:
- <s:List><s:layout><s:TileLayout/></s:layout></s:List>
如前所述,F(xiàn)lex4beta架構(gòu)旨在為開發(fā)人員提供構(gòu)造塊,供他們根據(jù)需要選擇功能。默認(rèn)情況下,關(guān)閉虛擬化和滾動(dòng)。要增加Group上的滾動(dòng)欄選項(xiàng)并開啟虛擬化,您需要:
1)在布局對(duì)象上將useVirtualLayout設(shè)為true2)將一個(gè)Scroller組件添加到Group。
以下是對(duì)SparkPanel使用虛擬化和滾動(dòng)的一個(gè)示例:
- <s:Paneltitles:Paneltitle="HorizontalPanel"width="300"
- height="220"left="20"top="20">
- <s:Scrollerwidths:Scrollerwidth="100%"height="100%">
- <s:Group><s:layout>
- <s:HorizontalLayoutuseVirtualLayouts:HorizontalLayoutuseVirtualLayout="true"/>
- </s:layout><s:TextInput/>
- <s:Buttonlabels:Buttonlabel="clear"/><mx:DateChooser/>
- <s:Buttonlabels:Buttonlabel="submit"/>
- </s:Group>
- </s:Scroller>
- </s:Panel>
有關(guān)Flex4beta中的所有布局增強(qiáng)(包括對(duì)變換的更好支持)的更多信息,請(qǐng)參閱Spark布局規(guī)范*。
【編輯推薦】
- Flex4beta的Spark布局特性解析
- Flex4beta架構(gòu)變化概述
- Flex module用法指南
- Flex4Beta引入新元素功能更強(qiáng)大
- FlexBuilder開發(fā)方法及特點(diǎn)解析