隨筆 - 8  文章 - 55  trackbacks - 0
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          朋友的Blog

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          這個(gè)速學(xué)教程教你該如何在Flex Builder中創(chuàng)建基于約束的布局。

          一個(gè)基于約束的布局確保當(dāng)在用戶重設(shè)置應(yīng)用程序窗口大小時(shí),應(yīng)用程序中的組件會(huì)聰明地自我調(diào)節(jié)大小。

          開始之前
          開始這個(gè)速學(xué)教程之前,確定你完成下面的任務(wù):

          ■在Flex Builder中創(chuàng)建QuickStart項(xiàng)目
          ■在Flex Builder中打開Project菜單中確認(rèn)Build Automatically選項(xiàng)已選上,如下:

          按此在新窗口打開圖片

          學(xué)習(xí)在Flex中基于約束的布局
          當(dāng)用戶重設(shè)置Flex應(yīng)用程序窗口大小時(shí),你想組件在你的布局中是聰明地自我調(diào)節(jié)大小時(shí),基于約束的布局就能發(fā)揮它的作用。

          你將使用Canvas容器創(chuàng)建基于約束的布局Canvas容器使組件的大小與位置更有彈性。它附屬你當(dāng)Canvas容器重設(shè)置大小時(shí)自動(dòng)伸縮與移動(dòng)組件的能力。

          例如,如果當(dāng)用戶將應(yīng)用程序窗口拖大,你想TextInput文件本框的寬度跟著伸長(zhǎng),你能固定文件本框與Canvas容器左邊與右邊的位置,那么文件本框的寬度將被窗口的寬度而設(shè)定。

          注意:在Flex中,所有的約束是相對(duì)于Canvas容器邊緣設(shè)置的。不能相對(duì)于其它的控件而設(shè)置。。

          現(xiàn)在你明白基本概念後,你能在FlexBuilder中創(chuàng)建一個(gè)簡(jiǎn)單的應(yīng)用程序與定義約束的布局

          插入與放置組件

          創(chuàng)建基于約束的布局的第一個(gè)步驟是在Canvas容器中放置組件。在Flex的容器中,只有Canvas容器是支持絕對(duì)坐標(biāo)。

          Macromedia Flash的場(chǎng)景一樣,你能拖放與放置組件到Canvas容器的任何位置。對(duì)于象素點(diǎn)的準(zhǔn)確性來(lái)說(shuō),你能設(shè)置x與y軸。

          在這部分里,將插入與放置組件來(lái)組成一個(gè)簡(jiǎn)單的反饋表單。

          1.打開QuickStart項(xiàng)目,選擇File > New > MXML Application,在File Name中輸入Layout.mxml

          2.在Navigator視圖中右擊Layout.mxml文件,選擇Application Management > Set As Default Application,將它指定為默認(rèn)被編譯的文件



          3.在設(shè)計(jì)視圖中,從Components面板(Window > Show View > Components)中拖放一個(gè)Label與一個(gè)TextInput控件Canvas容器里。

          按此在新窗口打開圖片

          4. 使用鼠標(biāo)拖動(dòng)LabelTextInputl控件肩并肩在Canvas容器3 分之1下的位置上(其實(shí)只要放到Canvas容器里就可以,下面會(huì)進(jìn)行具體的調(diào)整)。

          5.在Flex屬性面板中,展開GeneralLayout屬性面板。

          設(shè)置GeneralLayout屬性的選項(xiàng)出現(xiàn)。



          如果你看到的視圖與上面的不一樣,那請(qǐng)點(diǎn)擊視圖工具條上的View As Form按鈕

          按此在新窗口打開圖片

          6.在Canvas容器上,選擇Label控件與在Flex屬性面板給Label設(shè)置以下屬性:
          ■ text: Email
          ■ x: 20
          ■ y: 60


          7. 在Canvas容器上,選擇TextInput控件與在Flex屬性面板給TextInput設(shè)置以下屬性:
          ■ x: 90
          ■ y: 60
          ■ width: 300


          8. 在工具條上點(diǎn)擊Code按鈕,將視圖轉(zhuǎn)為代碼視圖。

          Layout.mxml文件將包含下面的MXML代碼:

          程序代碼:
          <?xml version="1.0" encoding="utf-8"?>
          <mx:Application xmlns:mx="http://www.macromedia.com/2005/mxml"
          xmlns="*">
          <mx:Canvas width="100%" height="100%">
          <mx:Label x="20" y="60" text="Email"/>
          <mx:TextInput x="90" y="60" width="300"/>
          </mx:Canvas>
          </mx:Application>


          9.在<mx:TextInput>標(biāo)簽后面輸入下面的代碼來(lái)插入剩下的Flex控件:

          程序代碼:
          <mx:Label x="20" y="90" text="Comments"/>
          <mx:TextArea x="90" y="90" width="300" />
          <mx:Button x="330" y="150" label="Send"/>


          你能通過工具條上點(diǎn)擊Design按鈕來(lái)預(yù)覽已做好的布局。這個(gè)布局將如下圖:

          按此在新窗口打開圖片

          10.保存文件。

          11.點(diǎn)擊工具條上的Run按鈕

          瀏覽器自動(dòng)打開并運(yùn)行你的Flex應(yīng)用程序。



          注意: 瀏覽器必須了安裝Flash Player 8.5,F(xiàn)lex 2應(yīng)用程序才能在瀏覽器中運(yùn)行。

          12.拖動(dòng)應(yīng)用程序的窗口的邊緣,使應(yīng)用程序的窗口變大或變小。
          組件仍然保持與窗口的左與上邊緣的絕對(duì)坐標(biāo)位置,在重設(shè)置應(yīng)用程序窗口大小時(shí),他們不會(huì)伸長(zhǎng)與縮小。例如:如果你將窗口縮小, Button控件將消失, TextInputTextArea控件將被留下一部分。

          下一個(gè)步驟設(shè)置對(duì)控件有約束性的布局,當(dāng)用戶在重設(shè)置應(yīng)用程序窗口大小時(shí),他們會(huì)自動(dòng)調(diào)整大小。

          定義約束的布局

          給組件在你的布局定位完后, 你將定義約束的布局,它能使組件跟隨應(yīng)用程序窗口自我調(diào)整大小。

          1.在設(shè)計(jì)視圖,選擇TextInput組件

          2.在Flex屬性面板,確定Layout類別已被展開。

          Layout類別包含設(shè)置固定的選項(xiàng)。

          按此在新窗口打開圖片

          3.定義約束的布局,在Layout類別中點(diǎn)擊左邊與右邊的固定選框,并在左邊文本框輸入90,右邊文文本框輸入60。這是TextInput控件Canvas容器的左邊與右邊保持的距離,如下:

          按此在新窗口打開圖片

          這兩個(gè)固定選框, 跟隨窗口固定TextInput控件的左右兩邊。在文本框中輸入的數(shù)字是指定TextInput控件Canvas容器保持的距離有多遠(yuǎn)(單位:像素(pixels))。

          這些約束在MXML代碼里被表示如下:

          程序代碼:
          <mx:TextInput y="60">
          <mx:layoutConstraints>
          <mx:EdgeAnchor left="90" right="60"/>
          </mx:layoutConstraints>
          </mx:TextInput>


          4.在Canvas容器中選擇TextArea控件,在Flex屬性面板中,選擇所有的四個(gè)固定選框并輸入與邊緣保持的距離,如下:
          ■ left: 90
          ■ right: 60
          ■ top: 90
          ■ bottom: 190


          TextArea的Flex屬性面板如下:

          按此在新窗口打開圖片

          5.在Canvas容器中選擇TextArea控件,在Flex屬性面板中,選上右邊與下邊的固定選框,并在右邊文本框輸入60,下邊文本框輸入150

          按此在新窗口打開圖片

          6.保存文件,等待Flex Builder直到編譯完成應(yīng)用程序,再點(diǎn)擊工具條上的Run按鈕

          瀏覽器自動(dòng)打開并運(yùn)行你的Flex應(yīng)用程序。



          7.拖動(dòng)應(yīng)用程序的窗口的邊緣,使應(yīng)用程序的窗口變大或變小。
          例如, 如果你將應(yīng)用程序的窗口縮小, Button控件會(huì)向內(nèi)移動(dòng), TextInputTextArea控件將會(huì)跟隨縮小。



          如果你將應(yīng)用程序的窗口拖長(zhǎng), Button控件會(huì)向外移動(dòng), TextInputTextArea控件將會(huì)跟隨拖長(zhǎng)。



          這個(gè)速學(xué)教程中,已教會(huì)你該如何在Flex Builder中創(chuàng)建基于約束的布局
          posted on 2006-04-29 16:55 blog搬家了--[www.ialway.com/blog] 閱讀(551) 評(píng)論(0)  編輯  收藏 所屬分類: Flex
          主站蜘蛛池模板: 文安县| 伊川县| 清河县| 西平县| 淳化县| 盱眙县| 清新县| 平果县| 牙克石市| 拉孜县| 许昌县| 长沙市| 呼伦贝尔市| 英山县| 合川市| 东平县| 炉霍县| 平定县| 祥云县| 沿河| 海南省| 霍林郭勒市| 新丰县| 丁青县| 昌宁县| 长海县| 蕲春县| 武陟县| 绵阳市| 九寨沟县| 务川| 惠水县| 平利县| 合江县| 巴东县| 贵溪市| 营口市| 黄平县| 响水县| 兴隆县| 清涧县|