我在尝试使用Degrafa为horizontalList滚动滚动条时遇到了一些问题。滚动条根本不显示。我检查了滚动条是否应该在没有蒙皮的情况下显示,并且确实如此。有没有这样做的陷阱? 下面是一些代码:使用Degrafa蒙皮HorizontalList滚动条
这是我定义我想要一个蒙皮滚动
<mx:HorizontalList horizontalScrollBarStyleName="thumbnailScrollbar"/>
这里HorizontalList将是我定义的ClassReference的皮肤(空的箭,使他们不显示) 。
.thumbnailScrollbar
{
up-arrow-skin: ClassReference(null);
down-arrow-skin: ClassReference(null);
trackSkin: ClassReference("ScrollBarTrackSkin");
thumbSkin: ClassReference("ScrollBarThumbSkin");
}
ScrollBarTrackSkin:
<?xml version="1.0" encoding="utf-8"?>
<GraphicBorderSkin xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns="http://www.degrafa.com/2007">
<fills>
<SolidFill id="upFill" color="#FFFFFF" alpha="0.8"/>
</fills>
<geometry>
<RoundedRectangle id="track" x="-8" cornerRadius="16" width="{this.skinWidth}" height="{this.skinHeight}" fill="{upFill}"/>
</geometry>
</GraphicBorderSkin>
ScrollBarThumbSkin:
<?xml version="1.0" encoding="utf-8"?>
<GraphicBorderSkin xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns="http://www.degrafa.com/2007">
<fills>
<SolidFill id="background" color="#333333" alpha=".8"/>
</fills>
<geometry>
<RoundedRectangle id="thumb" cornerRadius="16" width="{this.skinWidth}" height="{this.skinHeight}" fill="{background}"/>
</geometry>
</GraphicBorderSkin>
我填充用得比较多的项目的HorizontalList将是可见的,就像我之前说的滚动条显示,当我取出剥皮。
覆盖updateDisplayList不再需要。 GraphicBorderSkin具有变量skinWidth和skinHeight,取代了重写函数的必要性。 – asawilliams 2009-10-13 14:20:18
好的。不过,请尝试设置measuredHeight/measuredWidth。或者调试到updateDisplayList函数来查看维度是什么。 – Glenn 2009-10-13 19:59:06
你说得对,两次测量都得到了0 – asawilliams 2009-10-13 20:17:54