Flash MXML:Spark skin a VGroups滚动条

Flash MXML:Spark skin a VGroups滚动条,flash,apache-flex,mxml,Flash,Apache Flex,Mxml,我有一个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="

我有一个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>

首先,您应该知道,获取滚动条的不是VGroup,而是列表。组是没有任何可视元素的布局组件。(同样,在您展示的代码中VGroup是多余的,但我想您可能已经删除了一些不相关的代码,以便回答这个问题。)

现在进行蒙皮:您可以通过创建自己版本的Spark VScrollBarSkin来实现这一点。如果使用FlashBuilder,请右键单击项目(或要创建外观的包);单击“新建>MXML皮肤”;在向导中,填写
spark.components.VScrollBar
作为主机组件,并让它创建
spark.skins.spark.VScrollBarSkin
的副本

在您刚刚创建的类中,您会看到四个按钮,每个按钮都有自己的皮肤。一个是“向上滚动”按钮,另一个是“向下滚动”按钮,第三个是轨迹(背景),也可以单击,最后一个是可以拖动的拇指

现在,您可以像使用VScrollBarskin一样为这些按钮中的每个按钮创建自定义外观,但由于您只想调整宽度,因此可能不需要这样做。只需在每个按钮上设置一个显式宽度就足够了

现在,要应用皮肤而不是默认皮肤,只需在样式表中添加以下内容:

@namespace s "library://ns.adobe.com/flex/spark";

s|VScrollBar {
    skinClass: ClassReference("my.skins.VScrollBarSkin")
}
或者,如果希望仅将其应用于列表滚动条,请使用更具体的选择器,例如:

s|List s|VScrollBar { ... }

你可以参考这个链接,这可能会有帮助,谢谢!css属性是什么使它更宽?或者在哪里可以找到有关VScrollBars css属性的文档?@clamp VScrollBar的css属性当然可以在中找到,但大小不能通过样式应用。你必须做那种定制的皮肤。