Force Flex 4 Spark Hsliderスナップは特定の値にスナップしますか?
-
09-10-2019 - |
質問
古き良きMX:hsliderで値アレイを使用したことを覚えています。S:hsliderの回避策はありますか?!
基本的に、次の手順300,500,1000,2000,2500で300〜2500の値を選択するためにスライダーが必要です。
<s:HSlider id="franchiser"
value="1500"
skinClass="components.HorizontalSlider" x="0" y="0"
minimum="300" maximum="2500" />
このコンポーネントがなければ、そこに代替のスキン可能なスライダーがありますか?!
前もって感謝します!
解決
デフォルトのhsliderにはこの機能がありません。
これを達成するには、HSLiderを拡張し、この機能を追加するクラスを作成する必要があります。
ここでフレックスクラスを拡張する方法の例を見ることができます: http://blog.flexexamples.com/2008/09/08/extending-the-linkbutton-control-in-flex/
他のヒント
拡張し、親指のドラッグまたはトラックで[使用]をクリックします pointToValue
クリックされたときにあなたの価値を見つけて、あなたがそれをスナップしたい最も近い値に丸くするために。これは、対数スナップなどのクールなことを行うことができるため、古いスナップ動作よりも優れています(例:1,10,100,1000までのスナップ)。
これは、それを必要とするかもしれない人のために、基本的な回避策(クラスに簡単に入れることができます)です。
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var sliderValues:ArrayCollection =
new ArrayCollection([300,500,1000,2000,2500]);
]]>
</fx:Script>
...
<s:HSlider id="sldr"
minimum="0" maximum="{sliderValues.length - 1}"
stepSize="1" snapInterval="1"
dataTipFormatFunction="{
function():String
{
return sliderValues[sldr.value].toString();
}}"/>
<s:Label text="{sliderValues.getItemAt(sldr.value)}"/>
所属していません StackOverflow