雖然前段時間以賈伯斯為首的幾位大俠對
flash
的安全、效能等進行了強烈的批評,而且伴隨著
html5
的日趨完善,可能這種批評聲會越來越大,甚或超過南非世界盃嗚嗚組啦的分貝,但是個人認為
flex
確實是乙個可以做
delphi、pb
、c#等客戶端所具有的強滑鼠、鍵盤操作性的
web應用好工具。但最近在開發
flex
自定義元件的時候,卻讓我十分惱火,真
***的想罵
flex
開發團隊是一幫蠢驢(這是氣話,
flex
總體來說還是不錯的,但確實不是很成熟)。那麼究竟什麼讓我這麼火?
flex
自定義元件的屬性配置就是個雞肋,就是基本元件的屬性配置也很差。
拿使用頻率較高的
advanceddatagrid
來說,該控制項的屬性配置應該算是做的比較好的了,提供了列配置,開發人員可以通過圖形介面增加、刪除列,編輯列的可編輯、標題、顯示欄位等屬性,但是比較
c#等客戶端的話,
flex
提供的視覺化屬性配置還是差之太遠。現在自定義乙個
grid
,繼承advanceddatagrid
。關於如何自定義元件,網上已經說的很多了,這裡不再贅述,自定義元件有
2種做法:其一是
actionscript
類,其二是
mxml
檔案。不管用哪種方法,現在已經做好了乙個自定義**
mygrid
,繼承advanceddatagrid。
新建乙個
,將mygrid
拖放到該
中,發現
mygrid
的屬性配置面板裡除了
id等幾項設定外已再無其它內容,剛才在
advanceddatagrid
屬性面板中所見的
dataprovider
、選擇模式、列配置等都已不見,也就是說自定義的
mygrid
不能進行可視列編輯了,狂暈呀。
仔細分析大概是這樣的: 1)
flex
所有可視元件的屬性配置應該有個基本模板,大概該模板是基於
uicomponent的;
2) flex
自包含可視元件的屬性配置應該有其特定實現,比如
advanceddatagrid
,應該有擴充套件自基本模板的
advanceddatagrid
屬性配置; 3)
所有自定義元件的屬性配置都只有基本模板(諸如
id、左右邊距等),因為
flex
找不到自定義元件的屬性配置模板實現(由於
flex
元件的屬性配置是
flex
預定義程式,且只對
flex
的標準元件做了定義),所以只有用
uicomponent
的配置模板了;
結論與建議:
結論很明顯,
flex
的自定義元件沒有可用的視覺化屬性配置,因此我們要設定屬性只能在
mxml
檔案或者
as檔案中進行
coding
指令碼,如果乙個
mygrid有30
列,那麼就
coding 30
對advanceddatagridcolumn吧。
建議,雖說
flex
其核心還是指令碼程式設計,但個人認為乙個好的開發工具,高效的開發工具還是很重要的,我認為
flex
不僅要完善屬性控制面板,對其資料管理、標準的元件(拿最簡單的
button
來說吧,在
4中不能直接設定
icon
了,為了顯示帶
icon
的button
我***
要寫一堆**,而在
3中卻是可以直接設定的,雖說
4是為了把顯示和資料分開,但同時要考慮開發效率呀。)等也需要加以完善。
Flex視覺化元件開發
flex視覺化元件都繼承自uicomponent類 繼承結構 uicomponent sprite displayobjectcontainer 顯示物件容器 interactiveobject 互動物件 displayobject 顯示物件 eventdispatcher 事件分發器 object...
Flex自定義元件
使用mxml標籤定義 主檔案main1.mxml 注 xmlns mycomp 自定義命名空間其實很類似於包的概念用來管理元件的。實際當中最好把自己的元件檔案分資料夾管理。元件定義mycomp1.mxml 濟南威海 煙台注 元件的檔名就對應著將來使用時的mxml標籤名,根標籤就是你用來擴充套件的父類...
flex自定義元件
加入自定義事件 首先用元資料標籤給clogin新增自定義事件 示例 clogin.mxml event btnclicked 12 15 textalign left 12 15 textalign left displayaspassword true 12 x 190 y 118 前面提到,mx...