国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

FlexBuilder學習教程

開發 后端
你對FlexBuilder的概念是否熟悉,本文向大家簡單介紹一下FlexBuilder教程,Flex語言包含了一個豐富的用戶界面組件庫,主要包括MXML和ActionScript。

本文和大家重點學習一下FlexBuilder教程,FlexBuilder實現了代碼與界面分開,Flex的類程序擴展名為*.as,語法與java/c++很象,Flex程序文件擴展名為.mxml,其實就是擁有很多特殊元素的XML文件。

FlexBuilder教程

一、概述

Flex語言包含了一個豐富的用戶界面組件庫,MXML(一種基于XML的標記語言)和ActionScript(基于ECMA262的、強類型面向對象編程語言)。MXML用于排布用戶界面和處理應用中其他方面的問題,而ActionScript用來處理用戶交互邏輯。由于Flash平臺的普及,Flex使開發者可以開發廣泛的應用程序。開發者可以使用工業標準(如XML,CSS和SVC)和他們所熟悉的模式和范例來創建應用。Flex的分離協作方式和Flex公用組件模型也使得開發者和界面設計者能更好的進行協作,在可靠的、易于維護的架構上生產出在用戶體驗方面有突破性的產品。
FlexBuilder(FlexBuilder)之于MXML就如DREAWEAVER之于HTML。FlexBuilder實現了代碼與界面分開,Flex的類程序擴展名為*.as,語法與java/c++很象,Flex程序文件擴展名為.mxml,其實就是擁有很多特殊元素的XML文件。

二、使用MXML組件構建用戶界面

MXML語言支持兩種用戶界面組件類型:控件和容器。容器是包含控件和其他容器的屏幕的矩形區域。FlexBuilder控件是表單元素,如按鈕、文本字段和列表框。
可以使用FlexComponentExplorerFlexMXML組件瀏覽工具來查看所有控件的代碼和樣例。

1,加入常用可視控件:使用可視控件組織界面,可以定義組件屬性供外部訪問

◆基于文本的控件(Textcontrols):Label(單行文本顯示)、Text(多行文本顯示)、TextInput(單行文本顯示與輸入)、TextArea(多行行文本顯示與輸入)和RichTextEditor(富文本顯示與輸入)控件。用于顯示文本和/或接收來自用戶的文本輸入,都有一個text屬性用于設置要顯示的文本。使用RichTextEditor控件可以輸入文本、編輯文本和設置文本格式。用戶通過使用位于RichTextEditor控件底部的子控件,應用文本格式和URL鏈接。

◆基于按鈕的控件組件(Button系列,Formcontrols):Button(激活時會發出click和buttonDown事件)、LinkButton(用于打開URL)、CheckBox(標簽會被自動裁剪以適合控件邊界。)、RadioButton(指由標簽創建的組)和PopupButton控件(常用于打開List控件或Menu控件簽。)。

2,加入基于列表的控件,并獲取數據

基于列表的控件:是在其繼承層次結構內的某些點上擴展ListBase類的那些控件。它們包括ComboBox、List、HorizontalList、DataGrid、Tile、Menu和Tree控件。都可從某數據提供程序的數據獲得數據列表。
另:許多標準控件(包括ColorPicker和MenuBar控件)也是數據提供程序控件。

◆可以使用兩種方法設置組件的數據提供程序:

1),直接在MXML標簽中加入數據,將Array或Collection定義為取得數據提供程序的控件的子標簽。該方法具有實施快速的優點,適合與靜態數據一起使用及用于原型設計。
 

  1. <mx:ComboBoxidmx:ComboBoxid="userRating"width="100%"> 
  2.  
  3. <mx:Array> 
  4. <mx:Objectdatamx:Objectdata="0"label="Zero"/> 
  5. <mx:Objectdatamx:Objectdata="1"label="One"/> 
  6. mx:Array> 
  7. mx:ComboBox> 

 2),使用數據綁定:使用[Bindable]元數據標簽(屬性非默認綁定,必須明確的聲明被綁定的屬性),將控件綁定到使用ActionScript定義的現有Array或Collection。

  1. <mx:Script> 
  2.  
  3. [Bindable]  
  4. privatevarsubscriptions:ArrayCollection=  
  5. newArrayCollection  
  6. (  
  7. [  
  8. {data:0,label:"Print"},  
  9. {data:1,label:"Website"},  
  10. ]  
  11. );  
  12.  
  13. ]]> 
  14. mx:Script> 
  15. <mx:FormItemlabelmx:FormItemlabel="Subscriptions:"width="100%"> 
  16. <mx:List 
  17. id="userSubscriptions"rowCount="3"  
  18. allowMultipleSelection="true"width="100%"  
  19. dataProvider="{subscriptions}" 
  20. /> 
  21.  

 3,使用REPEATER:是非可視控件,類似于編程語言里的For循環,可在執行期復制其它組件。的卷標要自己輸入,而dataProvider可在區段之中,以[Bindable]的Metadata定義之數組作連結。REPEATER還可嵌套使用。
 

  1. <mx:Script> 
  2.  
  3. [Bindable]  
  4. publicvardp:Array=[1,2,3,4];  
  5. ]]> 
  6. mx:Script> 
  7. <mx:ArrayCollectionidmx:ArrayCollectionid="myAC"source="{dp}"/> 
  8.  
  9. <mx:Repeateridmx:Repeaterid="r"dataProvider="{myAC}"> 
  10. <mx:Buttonidmx:Buttonid="repbutton"label="button{r.currentItem}"/> 
  11. mx:Repeater> 
  12.  

 4,加入數據驗證:數據模型支持自動數據驗證,這就意味著你可以很方便地使用Flex驗證器。as3.0驗證的類包為mx.Validators.包中有一個基類Validator,其他的類都為其子類:
1),用標簽實現驗證://綁定驗證對象:source:表示驗證的對象,property:表示驗證對象的屬性
 

  1. <mx:PhoneNumberValidatoridmx:PhoneNumberValidatorid="pnV"source="{phoneInput}"property="text"/> 
  2. <mx:TextInputidmx:TextInputid="phoneInput"/> 

2),用AS編程實現驗證
 

  1.  
  2. importmx.validators.PhoneNumberValidator;  
  3. //創建驗證器  
  4. privatevarv:PhoneNumberValidator=newPhoneNumberValidator();  
  5. privatefunctioncreateValidator():void{  
  6. //設置驗證器  
  7. v.source=phoneInput;  
  8. v.property="text";  
  9. }  
  10. ]]> 
  11. mx:Script> 
  12. <mx:TextInputidmx:TextInputid="phoneInput"creationComplete="createValidator();"/> 
  13.  
  14. 還可以加入按鈕觸發器,并修改默認提示錯誤//trigger:表示觸發驗證事件的對象  
  15. //triggerEvent:表示對象觸發驗證事件的時機(如click,mouseOver等)  
  16. //requiredFieldError屬性表示必填項沒填入數據的時的提示錯誤信息  
  17. //wrongLengthError:表示輸入的數據阿拉伯數字長度小于10時提示的錯誤信息  
  18. //invalidCharError:表示輸入數據不是阿拉伯數字時提示的錯誤信息  
  19. <mx:PhoneNumberValidatoridmx:PhoneNumberValidatorid="pnV"source="{phoneInput}"property="text" 
  20. trigger="{btn}"triggerEvent="click"  
  21. requiredFieldError="此項為必填"invalidCharError="請輸入阿拉伯數字"wrongLengthError="請至少輸入請輸入10個阿拉伯數字"/> 
  22. <mx:TextInputidmx:TextInputid="phoneInput"/> 
  23. <mx:Buttonlabelmx:Buttonlabel="Button"id="btn"/> 
  24.  

 3),高級用法:使用正則表達式創建自定義驗證器

5,加入資源(圖片,音頻,視頻,程序):運行時外載和編譯時直接內嵌兩種方式,外載方式要多花一段載入時間,但使用簡單;內嵌方式可直接調用資源,但加重了程序的負擔(體積變大,且圖片編輯后需要重新編譯)

1),Image(圖畫)控件:可外載或內嵌多種富媒體資源:JPEG、GIF、PNG位圖、SVG矢量圖(只能內嵌),SWF動畫(非Flex的SWF應用程序。),SWF庫按鈕(Button),SWF庫動畫(MovieClip),//外載一個富媒體,可使用絕對或者相對路徑。
但加入SWF文件時,可用use-network參數指定其使用網絡或者本地文件二者之一。
 

  1. <mx:Imageidmx:Imageid="myLogo0"source="assets/logo.png"/> 
  2. //簡單地內嵌一個富媒體.png,.jpg,.gif,  
  3. .swf(可將嵌入的SWF文件的實例當作MovieClip.MovieClipAsset類的實例處理,不能直接訪問嵌入的SWF文件的屬性或方法。  
  4. 但可用LocalConnection以允許SWF之間進行通信。),  
  5. .SVG(可將嵌入的SVG文件的實例當作Sprite.SpriteAsset類的實例處理。)  
  6. <mx:Imageidmx:Imageid="myLogo"source="@Embed('assets/logo.png')"/> 
  7. //在腳本中定義富媒體對象,然后在MXML中可以多次嵌入  
  8. <mx:Script> 
  9.  
  10. [Embed(source="assets/logo.png")]  
  11. [Bindable]  
  12. publicvarLogo:Class;  
  13. ]]> 
  14. mx:Script> 
  15. <mx:Imageidmx:Imageid="myLogo"source="{Logo}"/> 
  16. <mx:Imageidmx:Imageid="myLogo2"source="{Logo}"/> 
  17. //在腳本中定義圖片的scale-9像框縮放功能就可以保持邊框的清晰,  
  18. (旋轉嵌入的scale-9圖像的實例會關閉該圖像的scale-9功能。)。  
  19. <mx:Script> 
  20.  
  21. [Embed(  
  22. source="assets/fancy_border.png",  
  23. scaleGridTop="55",scaleGridBottom="137",  
  24. scaleGridLeft="57",scaleGridRight="266"  
  25. )]  
  26.  
  27. [Bindable]  
  28. publicvarFancyBorderImage:Class;  
  29. ]]> 
  30. mx:Script> 
  31. <mx:Imagesourcemx:Imagesource="{FancyBorderImage}"width="146"height="82"/> 
  32. //嵌入SWF庫資源  
  33.  
  34. <mx:Script> 
  35.  
  36. [Embed(source="assets/library.swf",symbol="BadApple")]  
  37. [Bindable]  
  38. publicvarBadApple:Class;  
  39. ]]> 
  40. mx:Script> 
  41. <mx:Imageidmx:Imageid="badApple"source="{BadApple}"width="150" 
  42. height="151.8"/> 
  43.  

 2)設置翻轉的圖片:使用CSS為外觀外載/內嵌翻轉的圖像

可以定義一個現有的CSS類型選擇器為該類型的所有組件設置外觀。還可以進一步創建自定義CSS類。
 

  1. <mx:Style> 
  2. Button  
  3. {  
  4. upSkin:Embed("assets/box_closed.png");  
  5. overSkin:Embed("assets/box.png");  
  6. downSkin:Embed("assets/box_new.png");  
  7. }  
  8. mx:Style> 
  9.  
  10. <mx:Button/> 
  11.  

 3),SWFLoader控件:通常用來加入Flex應用程序(可以使用AS與其通信),當然也能用于加入Image控件所能加入的富媒體資源。

  1. //外載入SWF程序  
  2. <mx:SWFLoaderidmx:SWFLoaderid="loader1"source="FlexApp.swf"/> 
  3. //內嵌入SWF程序  
  4. <mx:SWFLoaderidmx:SWFLoaderid="loader2"source="@Embed(source='Flexapp.swf')"/> 
  5. //還可以在FDS環境下加入MXML文件,要以buttonicon.mxml.swf形式加入,以提示FDS編譯該文件。  
  6. <xmlversionxmlversion="1.0"> 
  7. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"> 
  8. <mx:SWFLoadersourcemx:SWFLoadersource="buttonicon.mxml.swf"scaleContent="false"/> 
  9. mx:Application> 
  10.  

 4),加入MP3音頻:您可以在Flex應用程序中通過使用[Embed]元數據標簽嵌入MP3文件并播放它。注意音頻文件的體積要優化。

  1. <mx:Script> 
  2.  
  3. importmx.core.SoundAsset;  
  4. importflash.media.*;  
  5. [Embed(source="assets/pie-yan-knee.mp3")]  
  6. [Bindable]  
  7. //MP3的一個新實例  
  8. publicvarSong:Class;  
  9. //將該實例創建為一個SoundAsset  
  10. publicvarmySong:SoundAsset=newSong()asSoundAsset;  
  11. publicvarchannel:SoundChannel;  
  12. //使用SoundAsset類的play()方法來播放MP3文件的實例  
  13. publicfunctionplaySound():void  
  14. {  
  15. //先消音,防止同時多次播放  
  16. stopSound();  
  17. //播放該音頻,并存儲返回的SoundChannel對象結束播放。  
  18. channel=mySong.play();  
  19. }  
  20.  
  21. publicfunctionstopSound():void  
  22. {  
  23. //當音頻播放時,調用SoundChannel對象的stop()方法以停止播放  
  24. if(channel!=null)channel.stop();  
  25. }  
  26. ]]> 
  27. mx:Script> 
  28. <mx:Buttonlabelmx:Buttonlabel="play"click="playSound();"/> 
  29. <mx:Buttonlabelmx:Buttonlabel="stop"click="stopSound();"/> 
  30.  

 5),加入字體:您希望在Flex應用程序中嵌入一種字體并將它用作基于文本的組件的樣式。

下面的示例創建引用嵌入的字體的font-family名稱的一個類選擇器。接著它會創建一個Text控件并將其樣式設置為該類選擇器。
提示:您在嵌入字體以節省文件大小時僅可以從字體添加某些字符,方法是指定您的@font-face聲明的unicode-range屬性。
 

  1. <mx:Style> 
  2. @font-face  
  3. {  
  4. font-family:Copacetix;  
  5. src:url("assets/copacetix.ttf");  
  6. unicode-range:  
  7. U+0020-U+0040,  
  8. U+0041-U+005A,  
  9. U+005B-U+0060,  
  10. U+0061-U+007A,  
  11. U+007B-U+007E;  
  12. }  
  13. .MyTextStyle  
  14. {  
  15. font-family:Copacetix;  
  16. font-size:24pt;  
  17. }  
  18. mx:Style> 
  19. <mx:TextstyleNamemx:TextstyleName="MyTextStyle"text="Embeddedfontsrock!"width="100%"/> 

 三,FlexBuilder中數據綁定

以MXML標記來描述UI,數據綁定(Databinding)來連接數據,這樣就真正實現了UI和程序邏輯的分離。Databinding可以一綁多或者多綁一。

1,在MXML中使用大括號{}語句:格式為:{源對象.屬性}。可直接傳送給目標對象;高級用法是在{}中包含AS表達式、AS函數或者E4X表達式

2,在MXML中使用標簽:這是{}語句的替代用法,格式為:;高級用法是在標簽中包含AS表達式或者E4X表達式//在Model數據中使用{}語句來綁定數據

  1. <mx:Modelidmx:Modelid="thing1"> 
  2. <data> 
  3. <part>{input1.text}part> 
  4. data> 
  5. mx:Model> 
  6. //用<mx:Binding>標簽來綁定數據  
  7. <mx:Bindingsourcemx:Bindingsource="input2.text"destination="thing1.part"/> 
  8. <mx:TextInputidmx:TextInputid="input1"/> 
  9. <mx:TextInputidmx:TextInputid="input2"/> 
  10.  
  11. <mx:TextAreatextmx:TextAreatext="{thing1.part}"/> 
  12.  

 3,使用AS類來綁定:使用mx.binding.utils.BindingUtils的bindProperty()或者bindSetter()方法

【編輯推薦】

  1. Flex及FlexBuilder2.0開發環境詳解
  2. Flex安全沙箱問題解決方法
  3. 技術前沿 看Flex客戶端緩存技術如何使用
  4. FlexBuilder更名成FlashBuilder 其功能是否有更新
  5. Flex內存泄露解決方法和內存釋放優化原則
責任編輯:佚名 來源: csdn.net
相關推薦

2010-08-03 15:54:43

FlexBuilder

2010-08-03 16:13:01

FlexBuilder

2010-08-03 15:44:08

FlexBuilder

2010-08-03 15:19:08

FlexBuilder

2010-08-09 10:11:08

FlexBuilder

2010-07-27 09:24:21

2010-08-02 14:59:48

FlexBuilder

2010-08-03 15:30:00

FlexBuilder

2010-08-06 09:06:26

FlexBuilder

2010-08-03 16:03:00

FlexBuilder

2010-08-03 12:53:51

FlexBuilder

2010-08-09 09:56:12

FlexBuilder

2010-08-03 15:36:38

FlexBuilder

2010-08-02 15:39:10

FlexBuilder

2010-08-05 15:40:21

FlexBuilder

2010-07-27 08:59:19

FlexBuilder

2010-08-05 15:13:43

FlexBuilder

2010-08-04 13:30:11

Flex項目

2010-08-02 13:28:12

FlexBuilder

2010-08-09 10:03:43

FlexBuilder
點贊
收藏

51CTO技術棧公眾號

999在线观看精品免费不卡网站| 最新97超碰在线| 国产精品麻豆视频| 欧美日韩五区| 日韩国产高清一区| 色婷婷激情综合| 久久在线免费| 国产在线黄色片| 国产成人激情小视频| 中文字幕在线一区二区三区| 高清一区二区| 女性女同性aⅴ免费观女性恋| av中文一区二区三区| 99精品视频在线免费播放| 欧美视频在线第一页| 亚洲精品视频在线播放| 国产自产高清不卡| 日本一区二区三区四区在线观看 | 欧美激情亚洲自拍| 国产免费成人在线视频| 日韩欧美黄色| 最新亚洲伊人网| 久久人人爽爽人人爽人人片av| 精品久久久久一区| 97se亚洲国产综合在线| 免费视频一区三区| 免费**毛片在线| 国产欧美精品aaaaaa片| 欧美在线一区二区视频| 欧美日韩aaa| 一菊综合网成人综合网| 亚洲综合在线小说| 久久国产精品偷| 欧美精品日日鲁夜夜添| 性爱视频在线播放| 国风产精品一区二区| 欧美精品日韩三级| 亚洲不卡一区二区三区| 日韩精品乱码免费| 精品国产18久久久久久二百| 高清视频在线www色| 麻豆亚洲一区| 久久亚洲精品小早川怜子66| 亚洲风情在线资源站| 日韩不卡一区二区| 国产精品x8x8一区二区| 北条麻妃在线| 亚洲欧美日韩在线高清直播| 欧美成人免费观看| 日韩中文字幕在线播放| 久久精品久久久久久国产 免费| 欧美一区二区不卡视频| 欧美性视频一区二区三区| 欧美日韩在线三级| 91亚洲永久免费精品| 亚洲大尺度视频在线观看| 午夜一区不卡| 精品国产第一国产综合精品| 噜噜噜在线观看播放视频| 在线观看日本一区| 91精品国产高清自在线| 欧美一级淫片007| 久久久久久久av麻豆果冻| 欧美日韩理论| 日本免费一区二区视频| 免费在线午夜视频| 男女羞羞电影免费观看| 中文字幕日韩精品一区二区| 国产九九精品视频| 日韩亚洲欧美成人| 5566中文字幕一区二区电影| 国产精品麻豆视频| 黑人巨大精品欧美黑白配亚洲| 日韩精品久久久久久久电影99爱| 在线国产成人影院| 一级毛片视频在线| 国产美女av| www.亚洲视频.com| 成人资源av| 性亚洲最疯狂xxxx高清| 日韩精品中文字| 日韩欧美精品在线观看| 日本一区二区视频在线| 老鸭窝一区二区久久精品| 婷婷精品进入| xxxx日韩| 国产私拍福利精品视频二区| 麻豆tv在线| 中文字幕在线视频观看| 亚洲不卡视频在线| 妺妺窝人体色www看人体| 极品校花啪啪激情久久| 91精品国产91久久久久久吃药| 亚洲精品99久久久久| 色屁屁一区二区| 中文字幕视频一区| 精品一区二区三区欧美| 久久中文字幕av| 日韩激情欧美| 欧美精品第1页| 免费不卡av在线| 黄色一级视频在线播放| 国产特级淫片免费看| 国精一区二区三区| 五月久久久综合一区二区小说| 国产亚洲一区二区三区在线观看 | 高h视频在线观看| 欧美亚洲国产一区| 六月丁香婷婷久久| 依依成人综合视频| 欧洲s码亚洲m码精品一区| 男女视频一区二区三区| 四季久久免费一区二区三区四区| 天天躁日日躁狠狠躁欧美| 中文一区一区三区高中清不卡| 国产精品aaaa| 污视频网站免费在线观看| 日本不卡一区二区| 精品久久久三级丝袜| 欧美一级视频精品观看| 欧美伦理一区二区| av女在线播放| 99久久伊人精品| 亚洲美女av电影| 国产成人无码一二三区视频| 93在线视频精品免费观看| 日韩美女在线视频| 永久免费网站在线| 国产精品无码永久免费888| 黄色一区三区| 精品福利网址导航| 国产一区二区三区日韩欧美| 成人免费看片'免费看| 日本高清久久| 欧美一区二区私人影院日本| 欧美第一页浮力影院| 国产一区在线观看视频| 亚洲日本精品一区| 亚洲自拍偷拍网| 456亚洲影院| 色哟哟免费在线观看| 日韩精品一二区| 91精品国产色综合久久不卡98| 不卡av影片| 精品污污网站免费看| 久久人人九九| 亚洲精品一区三区三区在线观看| 欧美日韩国产在线观看| 91老司机福利在线| 日韩欧美中文在线| 人体内射精一区二区三区| 欧美成人嫩草网站| 国产一区二区在线播放| 国产在线观看av| 亚洲一区二区三区四区在线 | 99精品视频免费| 伊人久久亚洲影院| 免费成人av资源网| 国产成人免费视频一区| www国产精品av| 日本一区二区免费在线| 一二三四区精品视频| 欧美日韩国产精品| 91精品国产全国免费观看| 亚洲精品国偷自产在线99热 | 丁香激情综合五月| 久久久久久久久久久电影| 亚洲精品日产精品乱码不卡| 色综合久久久久网| 亚洲高清免费观看高清完整版| 中文字幕亚洲字幕| 日本道色综合久久影院| 成人在线看片| www.黄色网址.com| www.com黄色片| 亚洲1卡2卡3卡4卡乱码精品| 欧美黑人孕妇孕交| 日本久久一区二区三区| 欧美日本网站| 亚洲国产精品ⅴa在线观看| 一本综合精品| 激情综合色丁香一区二区| 91在线播放网址| 亚洲国产日日夜夜| 欧美色国产精品| 亚洲人成电影网站色xx| 欧美日韩国产成人在线| 成人免费激情视频| 一本一道久久a久久精品综合| 777久久久精品一区二区三区| 亚欧精品一区| 在线观看中文| 先锋影音男人资源| 国产偷人视频免费| 国产在线视频资源| 姬川优奈av一区二区在线电影| 国产免费av一区二区三区| 日韩精品成人一区二区在线| 久久久国产一区二区三区四区小说 | 久久影视一区|