日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Flex 3 布局容器學習筆記

系統 2537 0

賴勇浩( http://laiyonghao.com

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

很好的文章

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

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

定位模式

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

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

HBox VBox Spacer

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

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

ApplicationControlBar

如果你用 Win32 SDK MFC 界面編程的經歷,你一定為“在工具欄上加一個 ComboBox Edit 的需求”而抓狂過吧?現在不用怕了,來到 flex 的世界,像這種問題,用 ApplicationControlBar 是相當相當地小 case 。看看下面這個圖多復雜,用了它,就是一個 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

Flex 3 布局容器學習筆記


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 江永县| 那坡县| 广昌县| 黄山市| 章丘市| 淮阳县| 类乌齐县| 平乡县| 宝山区| 乾安县| 铁力市| 浪卡子县| 平乐县| 信丰县| 山阳县| 正安县| 淮安市| 漳州市| 乌恰县| 修武县| 孝义市| 祁东县| 体育| 莒南县| 望谟县| 克什克腾旗| 临沂市| 利川市| 湟中县| 奉化市| 兰考县| 许昌县| 南安市| 嘉禾县| 莱阳市| 宁都县| 屏东市| 本溪| 九龙坡区| 满城县| 高要市|