Flex應(yīng)用程序設(shè)計界面布局的實現(xiàn)方式
本文和大家重點討論一下如何為Flex應(yīng)用程序設(shè)計界面布局,許多容器組件都允許以絕對坐標(biāo)的方式創(chuàng)建布局,你可以對應(yīng)其父容器的相對位置來放置組件并約束它們,使它們在Flex應(yīng)用程序的界面放大或縮小時仍然保持其彼此的位置。
為Flex應(yīng)用程序設(shè)計界面布局
讓我們來詳細(xì)分析一下前面那個“SayHellotoFlex“的簡單例子,你可以通過設(shè)置組件的屬性值來控制Flex應(yīng)用程序的界面布局,就象如下所示:
- <?xmlversionxmlversion="1.0"encoding="utf-8"?>
- <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute">
- <mx:Panellayoutmx:Panellayout="absolute"width="80%"height="80%">
- <mx:TextAreatextmx:TextAreatext="SayhellotoFlex!"top="10"bottom="70"left="10"
- right="30"/>
- <mx:Buttonlabelmx:Buttonlabel="Close"right="30"bottom="40"/>
- </mx:Panel>
- </mx:Application>
許多容器組件都允許以絕對坐標(biāo)的方式創(chuàng)建布局,這就意義著你可以使用精確的x和y的坐標(biāo)來放置組件。你還可以對應(yīng)其父容器的相對位置來放置組件并約束它們,使它們在Flex應(yīng)用程序的界面放大或縮小時仍然保持其彼此的位置。
在這個例子中,面板/Panel組件的布局屬性被設(shè)置為絕對值方式,同時所有容器的大小都被設(shè)置為應(yīng)用程序的百分之八十。兩個組件(TextArea和Button)被放置到距離面板容器邊界的特定象素位置上。
使用風(fēng)格和主題增強(qiáng)視覺方面的設(shè)計
如果樣式/style的屬性值沒有被指定,它們將由整個程序中運(yùn)行的主題/theme來進(jìn)行控制。在默認(rèn)情況下,F(xiàn)lex應(yīng)用程序使用Halo主題(就象上面那個例子那樣)。當(dāng)然,你可以修改默認(rèn)的主題或者干脆自己創(chuàng)建一個。你還可以簡單地指定新的樣式定義來改變默認(rèn)的主題樣式,就象這樣:
- <?xmlversionxmlversion="1.0"encoding="utf-8"?>
- <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute">
- <mx:Style>
- TextArea{
- font-size:36px;
- font-weight:bold;
- }
- </mx:Style>
- <mx:Panellayoutmx:Panellayout="absolute"width="80%"height="80%"x="122"y="24">
- <mx:TextAreatextmx:TextAreatext="SayhellotoFlex!"top="10"bottom="70"left="10"right="30"/>
- <mx:Buttonlabelmx:Buttonlabel="Close"right="30"bottom="40"/>
- </mx:Panel>
- </mx:Application>
通過明確地為TextArea組件定義一個樣式,應(yīng)用程序現(xiàn)在看起來就會象這樣了:
在這個例子中,一種新樣式在MXML文件中的<mx:Style>標(biāo)簽里進(jìn)行了定義。如同我們前面所提到過的,你還可以通過修改主題或應(yīng)用新主題、使用一個外部CSS文件、或者設(shè)置單獨的樣式屬性來達(dá)到設(shè)置新樣式的目的。
將一個樣式單導(dǎo)入到MXML文件中,你需要添加如下的代碼:
- <mx:Stylesourcemx:Stylesource="styles.css"/>
【編輯推薦】
- Flex應(yīng)用程序的開發(fā),編譯和發(fā)布
- Flex應(yīng)用程序組成元素和開發(fā)步驟解析
- 學(xué)習(xí)總結(jié) 在Flex中如何嵌入Flex字體
- 深入探究Flex應(yīng)用程序使用
- Flex數(shù)據(jù)綁定及其使用頻繁的幾種情況