精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

解析重寫Flex組件中角色 規則和步驟

開發 后端
本文向大家介紹一下如何重寫Flex組件,在Flex已有Flex組件無法滿足業務需求,或是需要更改其可視化外觀等特性時,直接進行繼承擴展。

在學習Flex的過程中,你可能會遇到重寫Flex組件的問題,這里和大家分享一下,希望本文的介紹能讓你有所收獲。

重寫Flex組件

一、為什么要重寫Flex組件

1、在Flex已有Flex組件無法滿足業務需求,或是需要更改其可視化外觀等特性時,直接進行繼承擴展。舉例,繼承BUTTONFlex組件的長文本卻不自動換行的自定義控件。

2、為了模塊化設計或進一步重用,需要對Flex組件進行組合。比如一個包括TEXTAREA,BUTTON的復合控件。

二、重寫Flex組件需要經常換位思考的三個角色

1、作為重寫Flex組件的使用者,有哪些需求。比如需要在MXML標簽和AS代碼中暴露哪些屬性及對應默認值、事件和事件的處理邏輯。

2、重寫Flex組件一般需要使用Flex原有Flex組件,要站在原有開發者的角度了解設計規則。

3、作為重寫Flex組件的設計者,在滿足需求的情況下盡量做到可復用、低耦合易擴展等設計原則,讓新Flex組件像Flex原Flex組件一樣好用。

三、重寫Flex組件AS方式和MXML方式的采用規則

1、MXML文件和AS文件***都會被編譯成AS類,只不過MXML編譯速度稍慢一些

2、如果MXML和AS都能完成的一個簡單Flex組件,MXML更容易被創建和控制布局

3、當要覆蓋Flex組件的某些方法時只能用AS方式

4、創建一個直接繼承UIComponent的子類時只能用AS

5、創建非可視化Flex組件比如Formatter、validator、Effect……時,只能用AS

6、要為Flex組件添加日志功能時,只能用AS.

四、AS方式重寫Flex組件常規步驟

1、如果有必要,為Flex組件創建所有基于標記(tag-based)的皮膚(skins)

2、創建ActionScript類文件

1)從一個基類擴展,比如UIComponent或者其他的Flex組件類

2)指定使用者能夠通過MXML標記進行設置的屬性

3)嵌入(Embed)所有的圖片和皮膚文件,文件大小盡可能小

4)實現構造器,可以設置屬性和樣式的缺省值,或者初始化數據結構,比如數組

5)根據需要,確定是否覆蓋以下五個方法:

(a)UIComponent.createChildren()方法,創建Flex組件的子Flex組件

(b)UIComponent.commitProperties()方法,提交Flex組件所有的屬性變化,設置measure()方法可能使用的屬性值。絕大多數情況下,都是對影響Flex組件如何在屏幕上顯示的屬性使用這個方法

(c)UIComponent.measure()方法,設置Flex組件的缺省size(measuredWidth、measuredHeight)和缺省的最小size(measuredMinWidth、measuredMinHeight)

(d)UIComponent.layoutChrome()方法,用于定義容器的邊框區域和確定邊框區域的位置,以及確定要在邊框區域中顯示的附加元素。例如,Panel容器使用layoutChrome()方法定義panel容器的title區域,這個區域用來包含title文本和close按鈕。

通常,使用RectangularBorder類來定義容器區域的邊框,而不是用圖片資源去包圍Flex組件。比如創建一個RectangularBorder對象,然后在重載的createChildren()方法中,將其作為一個內容子控件添加到Flex組件中,再用updateDisplayList()方法來確定其位置。

將容器的內容區域和容器邊框區域分開處理的主要原因是為了應對Container.autoLayout

屬性被設置為false的這種情況。當autoLayout(自動布局)屬性使用默認值true時,只要容器子控件的大小和位置發生變化,容器及子控件就會進行度量和布局。而當其為false時,度量和布局只在子控件被添加或移出容器時才執行。分開處理讓Flex在這兩種情況下都執行layoutChrome(),從而在autoLayout屬性為false的情況下,容器仍能夠更新它的邊框區域。

(e)UIComponent.updateDisplayList()方法,根據以前所設置的屬性和樣式來確定Flex組件的子Flex組件在屏幕上的大?。╯ize)及位置(position),并且畫出Flex組件所使用的所有皮膚(skins)及圖形化元素。Flex組件的父容器負責確定Flex組件本身大?。╯ize)。

要在updateDisplayList()方法中確定一個Flex組件的大小,當子Flex組件是UICOMPONENT時使用setActualSize()方法,而不是UICOMPONENT則使用與Flex組件大小相關的屬性width和height。要確定Flex組件的位置,當子Flex組件是UICOMPONENT時使用move()方法,而不是UICOMPONENT則使用x和y屬性。一個區別就是move()方法不僅改變了Flex組件位置,而且在調用這個方法之后立即分發了一個move事件,設置x和y屬性也更改Flex組件的位置,但卻在下一個屏幕更新事件中才會分發move事件。

Flex組件支持很多類型的可視元素,比如皮膚,樣式和邊框。在updateDisplayList()方法中,可以添加這些可視元素,并對它們進行一些控制。由于UICOMPONENT繼承自SPRITE,所以可以使用Graphics對象中的Flash繪畫APIs進行繪制圖形,比如使用Graphics類去畫邊框水平線以及其他圖形元素:

  1. graphics.lineStyle(1,0x000000,1.0);  
  2.  
  3. graphics.drawRect(0,0,unscaledWidth,unscaledHeight);  

updateDisplayList()方法形式如下:

  1. protectedfunctionupdateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void()  
  2.  
  3. {  
  4.  
  5. }  

以像素為單位的Flex組件坐標系中,unscaledWidth和unscaledHeight是由父容器確定的Flex組件大小,而不管Flex組件的scaleX,scaleY是多少。縮放發生在FlashPlayer或者AIR中,發生時機是在updateDisplayList()執行之后。比如一個Flex組件的unscaledHeight屬性是100,而其scaleY屬性是2.0,那么它在FlashPlayer或AIR中出現的高度為200像素。

需要注意的是,定義新Flex組件時不一定要重載所有的五個方法,只需重載實現Flex組件功能所必需的即可。比如實現一個自定義的Button控件,該控件使用新的機制來定義缺省大?。╯ize)。在這種情況下,只需要重載measure()方法?;蛘?,要實現VBox容器的一個新子類。新子類利用VBox類已有的所有有關設定大小(sizing)的邏輯,但是變更了VBox類的布局邏輯以實現從底部到頂部的方式來布局容器中的子控件,而不是自頂向下的布局。在這種情況下,只需要重載updateDisplayList()方法。

(6)增加屬性(properties),方法(methods),樣式(styles),事件(events)以及元數據

3、以ActionScript文件或者SWC文件的形式部署Flex組件
 

【編輯推薦】

  1. 技術分享 如何重寫Flex組件
  2. Flex基礎 創建***個Flex項目
  3. 解析Flex事件執行流程
  4. FlexBuilder3.0與Eclipse3.4的***結合
  5. 學習筆記 FlexBuilder2.0中如何使用基于Lists的控件 

 

 

責任編輯:佚名 來源: javaeye.com
相關推薦

2010-08-12 11:21:30

重寫Flex組件

2010-07-28 12:52:39

Flex組件

2010-08-12 11:29:01

Flex組件

2010-08-13 09:21:12

FlexButton組件

2010-08-13 09:11:11

LabelFlex

2010-07-28 12:41:18

Flex組件

2010-07-27 10:39:25

Flex組件

2010-07-27 10:58:46

Flex

2010-08-06 10:03:42

Flex事件

2010-08-05 13:33:06

Flex布局規則

2010-08-06 09:18:14

Flex

2010-08-12 15:44:25

Flex應用程序

2010-08-02 17:08:34

Flex Eclips

2010-08-12 13:59:37

FlexList控件

2010-08-09 15:41:13

Flex字體

2010-07-27 15:14:35

Flex Datapr

2010-08-13 13:31:48

Flex效果組件

2010-07-27 13:53:15

Flex ComboB

2010-08-13 14:05:24

Flex事件機制

2010-07-28 10:48:48

FlexReport開
點贊
收藏

51CTO技術棧公眾號

亚洲在线一区| 亚洲另类av| 亚洲卡通欧美制服中文| 国产综合精品一区二区三区| 中文字幕精品三级久久久| 免费成人av| 欧美一区二区网站| 无码人妻丰满熟妇区96| 91电影在线播放| 国产成人啪免费观看软件| 欧美在线播放视频| 国产午夜精品理论片| 青青草原在线亚洲| 7777女厕盗摄久久久| 亚洲午夜精品久久久久久人妖| 免费网站看v片在线a| 91免费国产在线| 亚洲一区二区三区sesese| 黄色大片网站在线观看| 91精品久久久久久久久久不卡| 日韩精品在线视频观看| 日韩av片免费观看| 欧美理论影院| 亚洲一区二区黄色| 中文字幕一区二区三区在线乱码| 日本在线视频1区| 粉嫩嫩av羞羞动漫久久久| 国产精品电影一区| 国产精品美女久久久久av爽| 亚洲网色网站| 自拍偷拍亚洲一区| 97超碰在线资源| 国产在线播放精品| 欧美一区二区视频在线观看2022| 国产成人精品视频ⅴa片软件竹菊| 宅男网站在线免费观看| 国产精品色呦呦| 欧美不卡三区| 亚洲色图欧美视频| 国产精品一区二区视频| 国产在线一区二区三区| 日韩av免费播放| 国产一区二区你懂的| 久久久噜噜噜久久中文字免| 激情综合网五月天| 亚洲91视频| 日韩中文在线不卡| 精品亚洲aⅴ无码一区二区三区| 日本成人7777| 精品亚洲一区二区三区四区五区| 人妻互换一二三区激情视频| 久久99成人| 日韩视频在线一区二区| 伊人国产精品视频| 97色婷婷成人综合在线观看| 欧美日韩一区不卡| 精品亚洲视频在线| 中文成人在线| 欧美一区二区在线免费观看| 国产成人精品一区二区在线小狼| 日韩免费精品| 欧美精品一区二区在线观看| 久久av一区二区三| 97se亚洲| 日韩激情在线视频| 久久丫精品国产亚洲av不卡| 精品一区在线| 在线观看中文字幕亚洲| 成人欧美一区二区三区黑人一| 97精品在线| 久久91亚洲人成电影网站| 久久久久久久久97| 亚洲一区观看| 国产精品扒开腿做爽爽爽视频| 成人黄色三级视频| 精品一区二区三区免费播放| 亚洲专区在线视频| 后入内射欧美99二区视频| 91热门视频在线观看| 日韩av电影免费在线| 在线观看a视频| 亚洲精品国产第一综合99久久| 日本a在线天堂| 欧美激情护士| 欧美性色黄大片| 亚洲一区二区偷拍| 粉嫩久久久久久久极品| 亚洲区中文字幕| 黄色香蕉视频在线观看| 欧美三区美女| 国产suv精品一区二区| 国产精品视频第一页| 国产91精品精华液一区二区三区 | 亚洲免费在线观看av| 蜜桃视频一区| 亚洲一区二区在线播放| 少妇激情av一区二区| 中文字幕不卡三区| 黄色a级片免费看| 国产综合色区在线观看| 日韩三级精品电影久久久| 好吊日免费视频| 永久91嫩草亚洲精品人人| 国产91精品青草社区| 在线免费观看一区二区| av电影一区二区| 一区二区三区偷拍| 在线看片国产福利你懂的| 欧美一区二区在线看| x88av在线| 亚洲午夜激情在线| 国产美女直播视频一区| 四虎影院在线播放| 亚洲人xxxx| 国产三级日本三级在线播放| 1204国产成人精品视频| 日韩在线观看免费网站| 亚洲高清毛片一区二区| 国产大陆a不卡| 亚洲欧美影院| 写真福利精品福利在线观看| 亚洲成人精品在线| 国产精品视频一区二区三| 日韩精品福利网| 久久青青草原| 动漫一区二区| 欧美一卡2卡三卡4卡5免费| 欧美激情 一区| 老司机一区二区三区| 国产一区二区三区奇米久涩 | 亚洲欧美日韩在线| 黄色永久免费网站| 国产欧美亚洲精品a| 97视频在线观看成人| 亚洲黄色在线观看视频| 亚洲女与黑人做爰| 超碰在线人人爱| 视频一区在线观看| 青青久久av北条麻妃海外网| 污视频在线免费| 亚洲福利一区二区三区| 老司机午夜免费福利| 欧美激情日韩| 99一区二区三区| 丝袜中文在线| 精品成人在线观看| 久久久久久久久久久久国产| 国产丶欧美丶日本不卡视频| 成人av在线播放观看| 亚洲精品福利| 午夜欧美不卡精品aaaaa| 亚洲欧美另类视频| 亚洲国产精品综合小说图片区| 日本成人在线免费| 黑人一区二区三区四区五区| 国产精品xxx在线观看www| 性欧美高清come| 欧美v日韩v国产v| 久久久久久久久久综合| 成人v精品蜜桃久久一区| 日本www在线视频| 神马日本精品| 国产精品成人在线| 午夜不卡视频| 日韩欧美一级二级三级| 国产亚洲精品码| 99精品一区二区| 狠狠干 狠狠操| 国产一区二区三区四区五区传媒| 国产精品高潮呻吟视频| 欧美天天影院| 3d动漫精品啪啪1区2区免费| 欧美精品成人久久| av一本久道久久综合久久鬼色| 欧美精品99久久| 日韩电影免费网站| 91精品久久久久久蜜桃| 蜜臀久久精品| 中文字幕欧美国内| 国内精品久久久久久久久久| 高跟丝袜一区二区三区| 欧美aaa级片| 国产69精品一区二区亚洲孕妇| 欧美深夜福利视频| 大色综合视频网站在线播放| 91精品国产高清久久久久久91裸体| 黄色在线免费观看网站| 色天天综合狠狠色| 亚洲精品免费在线观看视频| 一本大道av一区二区在线播放| www深夜成人a√在线| www.欧美.com| 色婷婷.com| 亚洲人人精品| 在线观看日本一区| 日韩欧美ww| 91亚洲国产精品| **欧美日韩在线观看| 欧美老女人在线视频| 黄色网址在线播放| 精品日韩av一区二区| 中文字幕第三页| 精品国产乱码久久久久久虫虫漫画 | 日韩精品一区二区三区电影| 久久九九热re6这里有精品| 国产精品久久久久久超碰 | 日韩电影一区| 精品国产区在线| 综合久草视频| 国产99久久精品一区二区永久免费 | 午夜欧洲一区| av成人综合网| 香蕉久久一区| 茄子视频成人在线| 97天天综合网| 色综合久久88色综合天天看泰| av成人手机在线| 亚洲美女久久久| 亚洲国产精品一| 9191久久久久久久久久久| 国产一区二区视频网站| 亚洲国产色一区| 国产女人被狂躁到高潮小说| 欧美国产精品一区二区| 亚洲av无码成人精品国产| 国产白丝精品91爽爽久久| 青青草久久伊人| 日本不卡在线视频| 成人黄色片视频| 性色一区二区三区| 僵尸世界大战2 在线播放| 亚洲欧美一区在线| 亚洲美女自拍偷拍| 久久国产精品亚洲人一区二区三区| 欧美激情导航| 窝窝社区一区二区| 精品国产乱码久久久久久88av| 91精品国产乱码久久久竹菊| 91成人免费视频| 欧美成年网站| 91嫩草在线| 欧美精品三级在线| 亚洲free性xxxx护士白浆| 四虎国产精品成人免费影视| 国产精品亚洲片夜色在线| 中文另类视频| 国产精品va在线| 日本一区二区三区中文字幕| 国产精品自产拍在线观看中文| 欧美成人黄色| 成人在线精品视频| 免费欧美网站| 国产66精品久久久久999小说 | 日本不卡一区| 欧美猛男同性videos| 欧美乱偷一区二区三区在线| 亚洲桃色综合影院| 精品亚洲欧美日韩| 欧美男男gaytwinkfreevideos| 欧美重口乱码一区二区| 日韩精品免费一区二区三区| 伊甸园精品99久久久久久| 99久久夜色精品国产亚洲1000部| 一本—道久久a久久精品蜜桃| 欧美高清日韩| 免费看又黄又无码的网站| 香蕉久久夜色精品| 亚洲激情在线观看视频| 激情久久五月天| 久久久久久无码精品人妻一区二区| 国产999精品久久久久久| 日韩成人av一区二区| 久久无码av三级| 中文字幕求饶的少妇| 亚洲激情成人在线| 久久艹免费视频| 欧美日韩一区久久| 性少妇videosexfreexxx片| 亚洲国语精品自产拍在线观看| 猫咪在线永久网站| 中文字幕亚洲欧美一区二区三区 | 国产精品欧美亚洲777777| 亚洲欧洲二区| 精品视频一区在线| 日韩精品一区二区三区免费观影| 久久久久久久久久久久久国产| 国产精品免费看| 午夜视频在线网站| av中文字幕不卡| 国产三级aaa| 欧美性xxxxxxx| 99国产精品99| 亚洲欧美日韩精品久久亚洲区| 国内精品久久久久国产| 456亚洲影院| 激情五月综合婷婷| 欧美日韩精品久久| 在线中文字幕第一区| 精品久久久久久久免费人妻| 国产在线播放一区二区三区| 波多野结衣办公室33分钟| 亚洲女爱视频在线| 成人毛片一区二区三区| 精品少妇一区二区三区日产乱码| av在线免费观看网站| 久久久免费在线观看| 成人51免费| 青青成人在线| 国产日韩1区| 日本黄色大片在线观看| 国产精品乱子久久久久| 黄色av一级片| 欧美精品一区男女天堂| 97caopor国产在线视频| 国产精品中文字幕久久久| 婷婷精品在线观看| 免费人成在线观看视频播放| 精品一区二区三区的国产在线播放| 人妻大战黑人白浆狂泄| 亚洲va韩国va欧美va| 国产jzjzjz丝袜老师水多| 日韩视频免费在线观看| 日韩天堂在线| 欧美日韩精品综合| 一本不卡影院| 日本国产在线视频| 又紧又大又爽精品一区二区| 91精品中文字幕| 日韩一区二区久久久| 成人四虎影院| 日韩欧美手机在线| 免播放器亚洲| 老鸭窝一区二区| 日韩人在线观看| 青青免费在线视频| 91精品国产91久久久久久不卡 | 国内精品伊人久久久久av影院| 精品人妻一区二区三区四区| 色视频成人在线观看免| 四虎精品成人影院观看地址| 69久久夜色精品国产69| 激情视频极品美女日韩| 日本精品久久久久久久久久| 国产成人a级片| 国产大片中文字幕| 精品sm在线观看| a在线视频v视频| 精品国产乱码一区二区三区四区 | 粗大的内捧猛烈进出视频| 亚洲欧美日韩电影| 国产丰满美女做爰| 欧美片一区二区三区| ccyy激情综合| 欧美黄网在线观看| 成人app下载| 精品国产xxx| 中文字幕国产日韩| 99视频这里有精品| 成人av在线不卡| av电影天堂一区二区在线观看| 男人天堂2024| 色哟哟网站入口亚洲精品| 91麻豆精品一二三区在线| 草草草视频在线观看| proumb性欧美在线观看| www亚洲视频| 日韩中文字幕在线看| 亚洲一区二区三区中文字幕在线观看| 久久99久久99精品| 久久一区二区三区四区| 国产精品尤物视频| 久久九九免费视频| 成人直播在线观看| 国产精品免费成人| 亚洲欧美日韩精品久久久久| 黄色一级大片在线免费看国产一| 欧美在线视频网| 久久亚洲在线| 久久久久国产精品无码免费看| 色综合色狠狠天天综合色| 免费黄色在线看| 国产区欧美区日韩区| 日本亚洲一区二区| 久久网一区二区| 亚洲欧美在线x视频| 不卡一区视频| 97xxxxx| 亚洲精品老司机| 免费在线国产| 91超碰在线电影| 久久亚洲欧洲| 久久久久成人网站| 亚洲性视频网站| 超碰97成人| 依人在线免费视频| 欧美日韩国产丝袜美女| 国产写真视频在线观看| 蜜桃91精品入口| 国产成人综合视频| 在线观看你懂的网站|