これが私の作品:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import spark.events.TextOperationEvent;
protected function sliderUpdate(event:Event):void
{
textIn.text=slider.value.toString();
}
protected function valueUpdate(event:TextOperationEvent):void
{
slider.value=Number(textIn.text);
}
]]>
</fx:Script>
<s:HSlider id="slider" x="10" y="106" width="308" change="sliderUpdate(event)" maximum="100.0" minimum="0.0" stepSize="0.01"/>
<s:TextInput id="textIn" x="10" y="76" width="87" change="valueUpdate(event)" text="0"/>
</s:Application>
スライダのステップ値は0.01です。テキストフィールドに値を入力すると、スライダーは自動的に更新されます。
EDIT:
その後のTextInputに、あなたはスライダー押されたキーがENTERであるかどうかを確認してから更新する必要がありますkeyDownイベント(に、KeyboardEvent.KEY_DOWN)と機能をリッスンする必要があります
<s:TextInput id="textIn" x="10" y="76" width="87" keyDown="textIn_keyDownHandler(event)" text="0"/>
を
機能:
protected function textIn_keyDownHandler(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.ENTER)
{
slider.value=Number(textIn.text);
}
}
あなたは、これはそれを行う必要がありますaddEventListenerを使用する場合:
textIn.addEventListener(KeyboardEvent.KEY_DOWN, textIn_keyDownHandler);
小数点の意味を明確にしました。ビジネス上の理由から、私はスライダーが高いインクリメントで行く別のスナップ値を持つ必要があります。私の挑戦は、6.01、2.005などではなく、.009、、045などと挑戦します。スライダがキーストロークごとに更新しようとするので、 – RG1967
おかげさまでクリスさんは夢のように働いていました! – RG1967
ソリューションをありがとう、なぜ私は値の配列を更新しても2つの親指を使用して動作していないのですか? – kaissun