2009-12-24 74 views
0

我有一個用於滾動條的拇指皮膚,我希望能夠動態地設置樣式或設置屬性。將動態樣式應用到Flex中的皮膚

<mx:Panel 
    verticalScrollBarStyleName="verticalScrollBarNoArrows"> 
</mx:Panel> 

的style.css

.verticalScrollBarNoArrows 
{ 
    upArrowSkin:  ClassReference(null); 
    downArrowSkin: ClassReference(null); 

    trackSkin:  ClassReference(null); 
    thumbSkin:  ClassReference("skins.ScrollBarThumb"); 
} 

ScrollBarThumb.as(片段)

public class ScrollBarThumb extends Border 
{ 
    [Bindable] 
    private var cornerRadius:Number = 2; 

    [Bindable] 
    private var backgroundColor:uint = 0x222222; 

    [Bindable] 
    private var xOffset:int = -3; 

我希望能夠在皮膚設置這些屬性,這樣可使皮膚被不同的風格每個使用它的組件。

你如何建議我這樣做?

回答

1

你應該平時就皮膚樣式沒有屬性中設置樣式:

[Style(name="cornerRadius", type="Number", format="Length", inherit="yes")] 

然後在updateDisplayList您可以撥打getStyle("cornerRadius")當你畫在皮膚上。