具有不同滑块的 Spark textarea
Posted
技术标签:
【中文标题】具有不同滑块的 Spark textarea【英文标题】:Spark textarea with different slider 【发布时间】:2012-07-30 07:24:54 【问题描述】:我对 Flex 比较陌生,并且在使用 textarea 的滚动条时遇到了问题。基本上,我希望 textarea 有一个看起来像 VSlider 组件的垂直滚动条,而不是像 VSrollBar。 (即带有点跟踪器的线,而不是带有框跟踪器的框)。
现在我想出了如何制作一个没有滚动条的 textarea 并将其链接到单独的 VSlider 组件并通过事件进行更新,但我很确定应该有某种方法只使用 textarea 并将其滚动条组件设置为看起来像 VSlider 而不是 VScrollBar。
谁能帮忙?
【问题讨论】:
【参考方案1】:我通过使用 spark TextArea 和垂直滚动条的皮肤解决了这个问题。 此外,您还必须使用此皮肤为每个按钮设置皮肤。
<?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" 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");
【讨论】:
【参考方案2】:在这种情况下,我最终使用了一个 VSlider,我通过监听事件“手动”与 textarea 滚动同步。不是最顺利的方式,但在这种情况下最容易实现。
【讨论】:
以上是关于具有不同滑块的 Spark textarea的主要内容,如果未能解决你的问题,请参考以下文章