我有一个VGRoup,如果内容太长,它会自动获取滚动条。
我想为滚动条设置皮肤(使其更宽)。我怎么能这样做?
<s:Panel title="Replay" width="95%" height="860" top="920" horizontalCenter="0">
<s:VGroup id="vgroup" left="10" right="10" top="10" bottom="10">
<s:List id="list" height="100%" width="100%" itemRenderer="ListRenderer" />
</s:VGroup>
</s:Panel>
答案 0 :(得分:1)
首先你应该知道,获取滚动条不是VGroup,而是List。组是布局组件,没有任何可视元素。 (此外,VGroup在您显示的代码中是多余的,但我想您可能已为此问题删除了一些不相关的代码。)
现在进行换肤:你可以通过创建自己的Spark VScrollBarSkin版本来实现。如果您使用FlashBuilder,请右键单击您的项目(或您要创建外观的包);点击'新建&gt; MXML皮肤';在向导中填写spark.components.VScrollBar
作为主机组件,并让它创建spark.skins.spark.VScrollBarSkin
的副本。
在你刚刚创建的课程中,你会看到四个按钮,每个按钮都有自己的皮肤。一个是'向上滚动'按钮,另一个是'向下滚动'按钮,第三个是轨道(背景),也是可点击的,最后一个是你可以拖动的拇指。
现在,您可以像使用VScrollBarskin一样为每个按钮创建自定义外观,但由于您只想调整宽度,因此可能没有必要。仅在每个按钮上设置显式宽度就足够了。
现在要应用你的皮肤而不是默认皮肤,只需将它放在你的样式表中:
@namespace s "library://ns.adobe.com/flex/spark";
s|VScrollBar {
skinClass: ClassReference("my.skins.VScrollBarSkin")
}
如果您希望它仅应用于List滚动条,请使用更具体的选择器:
s|List s|VScrollBar { ... }