2011-11-25 71 views
2

我想創建一個自定義組件庫。這些組件在創建時可以自定義。意味着像手風琴或TabNavigator的,當我們拖動並在Flash Builder下降手風琴它如何創建高級Flex自定義組件庫

<mx:Accordion x="38" y="167" width="200" height="200"> 
    <s:NavigatorContent width="100%" height="100%" label="Accordion Pane 1"> 
    </s:NavigatorContent> 
</mx:Accordion> 

看有兩個標籤是在一個時間MX:手風琴和s:NavigatorContent如何發生的。我怎樣才能創建一個這樣的組件。

我想用三個按鈕創建一個容器組件。之後我拖累組件到Flash Builder應該可編輯的意思是它的標籤必須看起來像這樣

<local:container x="38" y="167" width="200" height="200"> 
    <s:button width="10" height="10" /> 
    <s:button width="10" height="10" /> 
    <s:button width="10" height="10" /> 
</local:container> 

回答

0

首先你要明白一兩件事,那就是自定義組件的創建是爲了簡化標籤。雖然Flash Builder也不支持這種類型的東西。自定義組件子可以通過重寫其中的某些方法在內部創建,這取決於您繼承的基類。

創建自定義組件只會導致

<local:container x="38" y="167" width="200" height="200"> 
</local:container> 

雖然你可以通過手動或在內部將其添加的孩子。

2

爲了在用戶將自定義組件拖入Flash Builder時添加額外的標籤,您必須爲您的組件編寫擴展並在design.xml文件中對其進行配置。

這裏有一些鏈接,讓你開始:

+0

+1 B/C那是我第一次看到任何正式的文章從Adobe關於design.xml文件。我認爲你正處於正確的軌道上,使用Flash Builder擴展,因爲他想拖出一個組件並讓IDe創建多個組件。不過,我不確定是否需要design.xml來完成他的任務。 – JeffryHouser

+0

是的,這個FAQ很新穎(2011年8月)。我不認爲沒有design.xml就可以做到這一點。但是,由於我自己從來沒有這樣做過,我不確定是否可以用''或''創建多個組件。我的猜測是,需要創建一個實現'com.adobe.flexbuilder.mxmlmodel.components.IComponentInserter'的Java類,並在design.xml中註冊。 –

+0

根據我的經驗 - 這比這個海報要求的複雜程度要簡單 - -Design.xml只是定義組件在瀏覽器中顯示的文件夾的名稱。除此之外,它們顯示在默認的「Custom Components」文件夾中。我將不得不深入閱讀這篇文章。 :-) – JeffryHouser