0
的每一面我想,這樣的軌道皮膚是在拇指的兩側不同,以創建一個使用HSlider的HSlider使用。所以,例如,拇指左側的軌道是綠色的,而另一側是紅色的。如何獲得與皮膚的拇指
這可能還是會採取一個自定義組件?
的每一面我想,這樣的軌道皮膚是在拇指的兩側不同,以創建一個使用HSlider的HSlider使用。所以,例如,拇指左側的軌道是綠色的,而另一側是紅色的。如何獲得與皮膚的拇指
這可能還是會採取一個自定義組件?
您可以通過剝皮做到這一點。整個滾動條是可定製的。您只需要將HScrollBar的trackSkin樣式設置爲編程皮膚即可。那麼你的皮膚將基本上是兩個矩形。 0到parent.scrollPosition
。另一個從parent.scrollPosition
到height
。這是一個可能有效的例子。我沒有測試過。你可能需要擺弄一些數字。
public class ScrollBarSkin extends Border
{
//maybe needed as a hack for the flex internals. Values may need to be changed for specific cases
override public function get measuredWidth():Number {return 16; }
override public function get measuredHeight():Number {return 10;}
override protected function updateDisplayList(w:Number, h:Number):void {
super.updateDisplayList(w,h);
if(this.parent) {
var g:Graphics = this.graphics;
g.clear();
//top
g.beginFill(0xFF0000);
g.drawRoundRect(1,1, w, parent.scrollPosition);
g.endFill();
//bottom
g.beginFill(0x00FF00);
g.drawRoundRect(0, parent.scrollPosition, w, h);
g.endFill();
}
}
}