2010-06-19 39 views
1

當我生成皮膚文件讓我們假設爲s:按鈕,它們包含所有設計相關的代碼,如圖形,標籤等,但是當我創建一個BorderContainer的皮膚文件,它創建沒有任何設計代碼和事件的contentGroup部分評論,我不知道如何使用它。BorderContainer皮膚文件在某種程度上是空的

請你指導我如何優化其皮膚文件?

<?xml version="1.0" encoding="utf-8"?> 

[HostComponent( 「spark.components.BorderContainer」)]

<!-- states --> 
<s:states> 
    <s:State name="disabled" /> 
    <s:State name="normal" /> 
</s:states> 

<!-- SkinParts 
name=contentGroup, type=spark.components.Group, required=false 
--> 

回答

1

皮膚元素添加到組件

然後在底部添加此行:

<s:Group id="contentGroup" left="0" top="0" right="0" bottom="0"/> 

這將在皮膚上創建一個組。 這樣做後,它應該作爲一個傳統的邊界容器。

1

這應該更好地解釋它...從Abobe的文檔.... 「注意:因爲您使用CSS樣式和類屬性來控制BorderContainer容器的外觀,所以通常不會爲其創建自定義外觀。如果你創建了一個自定義皮膚,你的皮膚類應該應用任何樣式來控制容器的外觀。「http://help.adobe.com/en_US/flex/using/WS03d33b8076db57b9466e6a52123e854e5d5-8000.html

也...

我,如果你使用的是下文件嚮導發現 - >新的MXML皮膚,你將不會看到BorderContainerSkin可用。你所做的實際上是創建一個派生自BorderContainer(一個組件類,而不是一個皮膚類)的MXML類,因此它沒有任何圖形和繪圖方法。看起來好像你試圖創建錯誤類型的類。

與Flex 4中的大多數皮膚不同,BorderContainerSkin類實際上是一個Actionscript類。所以....幾個選項...

1)你可以擴展BorderContainerSkin

轉到:文件 - >新建 - > ActionScript類 - >在超類字段類型BorderContainerSkin和選擇它出現時,命名你的新皮膚類,你應該很好去。

2)創建自己的

BorderContainerSkin延伸皮膚,使您可以在BoderContainerSkin引用的代碼,並創建與您的自定義邏輯擴展皮膚自己的ActionScript類。

希望得到這個幫助