五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > Flex 3 布局容器學(xué)習(xí)筆記

Flex 3 布局容器學(xué)習(xí)筆記

文章來源:365jz.com     點擊數(shù):548    更新時間:2009-10-12 09:42   參與評論

賴勇浩( http://laiyonghao.com

國慶期間,做了不少基于 flex 的開發(fā)工作,對 flex 的布局容器有了進(jìn)一步深入的理解,也找到不少非常棒的文章,分享到這里方便一下大家。

很好的文章

Flex3 界面布局教程 (1)

http://blog.chinaunix.net/u/21684/showart_691988.html

Flex3 界面布局教程 (2)

http://blog.chinaunix.net/u/21684/showart_692022.html

Flex 組件的定位和布局

http://www.adobe.com/cn/devnet/flex/quickstart/layout_modes/

Using Layout Containers

http://livedocs.adobe.com/flex/3/html/help.html?content=layouts_07.html

基本上看完前三篇,這方面就能搞得很好了;最后一篇是官方的關(guān)于布局容易的手冊,有空的時候看看,可以了解更多細(xì)節(jié)。下面開始分享我的學(xué)習(xí)筆記(有潤色),內(nèi)容沒有脫離上面的四篇文章,沒興趣的朋友可以跳過不看了。

定位模式

要想弄明白 flex 的界面布局,就有必要先弄明白它的定位模式。 flex 的自由之處在于你可以在 mxml 里寫上許多定位模式的代碼,當(dāng)這些定屬性發(fā)生沖突時,它會自動根據(jù)優(yōu)先級來執(zhí)行優(yōu)先級最高的定屬性。你不用擔(dān)心記不住這些優(yōu)先級, flex 這個 IDE 在檢測到?jīng)_突時,會在 problem 框里顯示一個警告,這樣你可以去掉優(yōu)先級比較低的定位屬性了。

眾多的定位模式中第一個是絕對模式,即你通過確定的數(shù)值來設(shè)定 x 、 y 、 width height 屬 性;使用絕對模式你需要知道你的控件擺在哪個位置和確定它的大小,顯然地這很難讓你的客戶方便地獲得適應(yīng)客戶屏幕和習(xí)慣的布局,所以我們更常用的是自動定 位;自動定位仍然不夠靈活,這時我們可以使用基于約束的布局,顧名思義,這是一種通過描述其與容器的關(guān)系來實現(xiàn)布局的方法,通過使用子組件的 top 、 bottom 、 left right 、 horizontalCenter verticalCenter 樣式屬性來指定限制。關(guān)于這方面的更多內(nèi)容,可以通過上面推薦的第三篇文章來了解。

HBox 、VBox Spacer

這兩個 Box 類是“看不見”的控件,用來約束其中的組件布局。如果你用過 wxWidgets 那一定對它們相當(dāng)熟悉了,這種基于 Box 的布局方法加上約束屬性,可以很容易地做出隨著父控件的大小變化而相應(yīng)地保持比例的變化,唉啊,想起當(dāng)年用 MFC 實現(xiàn)這樣的效果,我寫了多少代碼,調(diào)試了多少個夜晚啊!

Box 控件中,某兩個控件之間的距離由 verticalGap 屬性設(shè)定,默認(rèn)值并不是 0 ,所以如果你想把兩個控件緊挨在一起,需要手動把它設(shè)置為 0 ;如果你想單獨地調(diào)整某兩個控件間的間隔,那么可以使用“看不見的看得見的”控件 Spacer 來隔開它, Spacer 在界面上顯示為一個純透明的組件,所以看不見,但又能起到空白的作用,所以又看得見,它的 width height 屬性可以相對應(yīng)地讓 HBox VBox 控制的組件更加漂亮。

ApplicationControlBar

如果你用 Win32 SDK MFC 界面編程的經(jīng)歷,你一定為“在工具欄上加一個 ComboBox Edit 的需求”而抓狂過吧?現(xiàn)在不用怕了,來到 flex 的世界,像這種問題,用 ApplicationControlBar 是相當(dāng)相當(dāng)?shù)匦?/span> case ??纯聪旅孢@個圖多復(fù)雜,用了它,就是一個 1 + 1 = 2 的小 case 了。


DividedBox 、HDividedBox VDividedBox

別說是用 MFC ,哪怕是用 wxWidgets ,做一個可以隨時拖放改變切分比例的分割組件也是困難的,但到了 Flex 的時代,一切都變得非常容易了,使用 DividedBox 及其子類可以像使用 Box 及其子類那樣方便地分割組件,下面就是一個活生生的例子,拖動中間的分隔條,可以隨時改變大小比例。


除了這些以外,還有最常用的容器 Canvas 、 ApplicationControlBar 的基類 ControlBar 、很有 web 特色的 Form, FormHeading, and FormItem 、與 Box 類似的 Grid 、以及 Panel 、 Tile TitleWindow ,這些類都可以在手冊里看到,還是那句話:有空的時候, read the fucking manuals ;工作的時候, google is your friend 。

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答??! 點擊進(jìn)入論壇

發(fā)表評論 (548人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號