2010-03-28 17:23:15| 分類(lèi):
Flex |舉報 |字號
自定義Flex組件
組件(Components)和控件(Controls)的關(guān)系?
“組件”指任何可復用的、可以與其它對象交互的對象,如 Flex 中的validators、formatters、effects、managers、controls、containers 等等;
“控件”則指能夠在界面上看到的組件,也稱(chēng)為可視化組件,如Flex中的controls、containers、borders 等等。
所有的控件都是組件,反之,則不一定。Flex中的所有類(lèi)都可以被稱(chēng)為組件,其中能夠在界面上看到的組件都可以被稱(chēng)為控件。
可視化組件的分類(lèi):
在Flash Builder 4中,為了便于用戶(hù)使用,將可視化組件分為以下幾類(lèi):
· 定制組件:存放用戶(hù)自定義組件;
· 控件組件:存放基礎的控件組件;如:按鈕組件、文本組件和下拉框組件等;
· 數據控件:存放數據呈現的組件,如:網(wǎng)格組件、樹(shù)組件等;
· 布局組件:如:窗口組件、表單組件;
· 導航組件:如:Tab條組件、按鈕條組件;
· Adobe AIR:Adobe AIR組件;
· 圖標組件。
組件的優(yōu)點(diǎn)
· 通過(guò)組件,可以將應用程序分為能夠獨立開(kāi)發(fā)和維護的模塊,通過(guò)在自定義組件中實(shí)現通用邏輯,可以創(chuàng )建一系列可重用的組件,實(shí)現多個(gè)應用程序間的代碼共用。
· 通過(guò)讓自定義組件繼承 Flex 中預定義的類(lèi),我們可以擴展 Flex 中的類(lèi),給現有的組件添加更多的行為,或者實(shí)現具有全新行為的組件。
Flex組件構成
在Flex中,一個(gè)模塊對應著(zhù)一個(gè)在MXML文件或者ActionScript文件中實(shí)現的組件。也就是說(shuō)我們自定義一個(gè)組件不是以MXML文件的形式,就是以ActionScript的形式。
組件可以被定義在 MXML 文件(以 .mxml 為后綴的文件)或者 ActionScript 文件(以 .as 為后綴的文件)中。凡是定義在 MXML 文件中的組件都可以轉化為定義在 ActionScript 文件中的組件。Flex SDK中的大部分組件都是定義在 ActionScript 文件中的。
怎樣自定義組件?
通過(guò)擴展現有的組件來(lái)創(chuàng )建自定義組件。
組件形式
在實(shí)現自定義組件之前,我們需要決定是在MXML文件中實(shí)現還是在A(yíng)ctionScript文件中實(shí)現,這取決于應用程序的需求。
· MXML組件和ActionScript組件兩者都定義新的ActionScript類(lèi)。
· 基本上所有在A(yíng)ctionScript組件中能做的事情都可以在MXML組件中做。對于簡(jiǎn)單的組件,比如修改現有組件的行為或者為其添加新的基本特性,在 MXML 中實(shí)現起來(lái)更快、更簡(jiǎn)單。
· 當使用ActionScript創(chuàng )建自定義組件時(shí),需要創(chuàng )建一個(gè)繼承自Flex類(lèi)的新類(lèi),該類(lèi)類(lèi)名必須與ActionScript文件的文件名相同;
當使用MXML來(lái)定義組件時(shí),Flex編譯器會(huì )自動(dòng)創(chuàng )建一個(gè)與該MXML文件名相同的ActionScript類(lèi)。
Flex組件的文件類(lèi)型
文件類(lèi)型
擴展名
說(shuō)明
MXML
.mxml
在MXML文件中實(shí)現的組件
ActionScript
.as
在A(yíng)ctionScript類(lèi)中實(shí)現的組件
SWC
.swc
在MXML或ActionScript文件中實(shí)現組件后,將其打包進(jìn)SWC 文件中。SWC文件中包含打包好的可以在多個(gè)應用程序間復用的組件。當生成SWF 文件時(shí),SWC文件會(huì )被編譯進(jìn)應用程序中。
RSL
.swc
在MXML或ActionScript文件中實(shí)現組件后,可以通過(guò)RSL 文件來(lái)部署。RSL是一種獨立文件,能夠被SWF文件分別下載并緩存在客戶(hù)端供多個(gè)應用程序的SWF文件使用。
閱讀(1575)| 評論(0)