我对 Flex 比较陌生,并且对 textarea 的滚动条有疑问。基本上,我希望 textarea 有一个看起来像 VSlider 组件的垂直滚动条,而不是像 VSrollBar。(即带有点跟踪器的线,而不是带有框跟踪器的框)。
现在我想出了如何制作一个没有滚动条的 textarea 并将其链接到单独的 VSlider 组件并通过事件进行更新,但我很确定应该有某种方法只使用 textarea 并将其滚动条组件设置为看起来像VSlider 而不是 VScrollBar。
任何人都可以帮忙吗?
我对 Flex 比较陌生,并且对 textarea 的滚动条有疑问。基本上,我希望 textarea 有一个看起来像 VSlider 组件的垂直滚动条,而不是像 VSrollBar。(即带有点跟踪器的线,而不是带有框跟踪器的框)。
现在我想出了如何制作一个没有滚动条的 textarea 并将其链接到单独的 VSlider 组件并通过事件进行更新,但我很确定应该有某种方法只使用 textarea 并将其滚动条组件设置为看起来像VSlider 而不是 VScrollBar。
任何人都可以帮忙吗?
我通过使用 spark TextArea 和 Vertical Scroll Bar 的皮肤解决了这个问题。此外,您还必须从该皮肤中对每个按钮进行皮肤处理。
<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:fb="http://ns.adobe.com/flashbuilder/2009">
<fx:Metadata>
<![CDATA[
[HostComponent("spark.components.VScrollBar")]
]]>
</fx:Metadata>
<s:states>
<s:State name="normal" />
<s:State name="disabled" />
<s:State name="inactive" />
</s:states>
<s:Group top="2" horizontalCenter="0" bottom="2" left="2" right="2">
<s:Button id="track" top="8" bottom="8" width="10" focusEnabled="false"
skinClass="skins.scroller.VerticalScrollBarTrackSkin"/>
<s:Button id="thumb" horizontalCenter="0" focusEnabled="false" visible.inactive="false"
skinClass="skins.scroller.VerticalScrollBarThumbSkin" buttonMode="true"/>
<s:Button id="decrementButton" top="0" enabled.inactive="false"
focusEnabled="false" horizontalCenter="0" buttonMode="true"
skinClass="skins.scroller.VerticalScrollBarDecrementButtonSkin"/>
<s:Button id="incrementButton" bottom="0" enabled.inactive="false"
focusEnabled="false" horizontalCenter="0" buttonMode="true"
skinClass="skins.scroller.VerticalScrollBarIncrementButtonSkin"/>
</s:Group>
</s:SparkSkin>
然后您必须将样式应用于您的应用程序。
s|VScrollBar
{
skinClass:ClassReference("skins.scroller.VerticalScrollBarSkin");
}
对于这种情况,我最终使用了一个 VSlider,我通过监听事件“手动”与 textarea 滚动同步。不是最顺利的方式,但在这种情况下最容易实现。