具有不同滑块的 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的主要内容,如果未能解决你的问题,请参考以下文章

具有不同分段级别的 UISlider

如何使范围滑块的左侧与滑块右侧的颜色不同?

R:带有时间滑块的地图?

如何在angularjs中设置范围滑块的时间?

如何使用带有缩略图滑块的光滑滑块创建自定义滑块?

每个滑块的单独边框