Flex應用程序設計界面布局的實現方式
本文和大家重點討論一下如何為Flex應用程序設計界面布局,許多容器組件都允許以絕對坐標的方式創建布局,你可以對應其父容器的相對位置來放置組件并約束它們,使它們在Flex應用程序的界面放大或縮小時仍然保持其彼此的位置。
為Flex應用程序設計界面布局
讓我們來詳細分析一下前面那個“SayHellotoFlex“的簡單例子,你可以通過設置組件的屬性值來控制Flex應用程序的界面布局,就象如下所示:
- <?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>
許多容器組件都允許以絕對坐標的方式創建布局,這就意義著你可以使用精確的x和y的坐標來放置組件。你還可以對應其父容器的相對位置來放置組件并約束它們,使它們在Flex應用程序的界面放大或縮小時仍然保持其彼此的位置。
在這個例子中,面板/Panel組件的布局屬性被設置為絕對值方式,同時所有容器的大小都被設置為應用程序的百分之八十。兩個組件(TextArea和Button)被放置到距離面板容器邊界的特定象素位置上。
使用風格和主題增強視覺方面的設計
如果樣式/style的屬性值沒有被指定,它們將由整個程序中運行的主題/theme來進行控制。在默認情況下,Flex應用程序使用Halo主題(就象上面那個例子那樣)。當然,你可以修改默認的主題或者干脆自己創建一個。你還可以簡單地指定新的樣式定義來改變默認的主題樣式,就象這樣:
- <?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組件定義一個樣式,應用程序現在看起來就會象這樣了:
在這個例子中,一種新樣式在MXML文件中的<mx:Style>標簽里進行了定義。如同我們前面所提到過的,你還可以通過修改主題或應用新主題、使用一個外部CSS文件、或者設置單獨的樣式屬性來達到設置新樣式的目的。
將一個樣式單導入到MXML文件中,你需要添加如下的代碼:
- <mx:Stylesourcemx:Stylesource="styles.css"/>
【編輯推薦】