Flash 如何将文本指定给自定义HSlider值?
例如,我希望标签显示滑块的自定义值 滑块值等于0,则标签文本为250 滑块值为1,则标签文本为333 滑块值为2,则标签文本为543 滑块值为3,则标签文本为9342 我是新手,非常感谢您的帮助。我的示例代码是:Flash 如何将文本指定给自定义HSlider值?,flash,builder,Flash,Builder,例如,我希望标签显示滑块的自定义值 滑块值等于0,则标签文本为250 滑块值为1,则标签文本为333 滑块值为2,则标签文本为543 滑块值为3,则标签文本为9342 我是新手,非常感谢您的帮助。我的示例代码是: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe
<?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:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Panel x="199" y="141" width="250" height="200">
<s:HSlider id="ValueSlider" x="74" y="68" maximum="3" minimum="0" stepSize="1"/>
<s:Label id="ValueLabel" x="109" y="38" text="Label"/>
</s:Panel>
感谢@Whiteagle,这就是我现在的处境,但现在我得到了一个“无法解决组件实现”错误
您只需添加更改事件并更改标签的文本属性:
<?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:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:Script>
<![CDATA[
import mx.events.SliderEvent;
protected function ValueSlider_changeHandler(event:SliderEvent):void
{
ValueLabel.text = ValueSlider.value; // You could also use event.currentTarget or similar to obtain the element that dispatched the event, I prefered to refer to it directly for this example.
// Add your logic here. For instance:
if(ValueSlider.value == "0") // I'm using an if just for demonstration purposes, if you want to do one check per value you may want to consider using a switch.
ValueLabel.text = "300";
...
}
]]>
</mx:Script>
<s:Panel x="199" y="141" width="250" height="200">
<s:HSlider id="ValueSlider" x="74" y="68" maximum="3" minimum="0" stepSize="1" change="ValueSlider_changeHandler(event)" />
<s:Label id="ValueLabel" x="109" y="38" text="Label"/>
</s:Panel>
</s:Application>
当0为“0”而不是我需要的“250”时,这将显示hslider值。我需要显示的值不是递增的,因此正在寻找将值分配给0、1、2和3以显示在标签中的方法。抱歉,忘记添加您需要将逻辑添加到更改处理程序中的内容,您只需更改行ValueLabel.text=ValueSlider.value编码>并根据您的需要进行调整。请查看我上面的编辑。另外@Usoldier18请记住,我是在教你“如何钓鱼”,而不是“为你钓鱼”。是的,我理解尝试学习钓鱼。我的项目有两个滑块和多个标签,我试图得到一个小例子,我可以通过学习应用到更大的一个。谢谢你的帮助。
<?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:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:Script>
<![CDATA[
import mx.events.SliderEvent;
protected function ValueSlider_changeHandler(event:SliderEvent):void
{
ValueLabel.text = ValueSlider.value; // You could also use event.currentTarget or similar to obtain the element that dispatched the event, I prefered to refer to it directly for this example.
// Add your logic here. For instance:
if(ValueSlider.value == "0") // I'm using an if just for demonstration purposes, if you want to do one check per value you may want to consider using a switch.
ValueLabel.text = "300";
...
}
]]>
</mx:Script>
<s:Panel x="199" y="141" width="250" height="200">
<s:HSlider id="ValueSlider" x="74" y="68" maximum="3" minimum="0" stepSize="1" change="ValueSlider_changeHandler(event)" />
<s:Label id="ValueLabel" x="109" y="38" text="Label"/>
</s:Panel>
</s:Application>