我目前正在创建一个像这样的微调器
var scoreSpinner:Spinner = new Spinner();
scoreSpinner.width = 25;
scoreSpinner.value = scoreList.getItemAt(index).Score;
scoreSpinner.minimum = scoreList.getItemAt(index).Minimum;
scoreSpinner.maximum = scoreList.getItemAt(index).Maximum;
scoreSpinner.snapInterval = 1;//scoreList.getItemAt(index).Increment;
if(scoreNameLabel.text == "Disconnect Impact")
{
scoreSpinner.addEventListener(Event.CHANGE, spinnerChange);
}
在一个特定的微调器上我想自定义递增(0,1,3,5,7)所以我想知道它们何时按下递增按钮以知道增加值的方法
private function spinnerChange(event:Event):void
{
if(event.target.incrementButton.currentCSSState.valueOf() == "down")
{
if(event.currentTarget.value == 2)
event.currentTarget.value = 3;
if(event.currentTarget.value == 4)
event.currentTarget.value = 5;
if(event.currentTarget.value == 6)
event.currentTarget.value = 7;
}
if(event.target.incrementButton.currentCSSState.valueOf() == "up")
{
if(event.currentTarget.value == 2)
event.currentTarget.value = 1;
if(event.currentTarget.value == 4)
event.currentTarget.value = 3;
if(event.currentTarget.value == 6)
event.currentTarget.value = 5;
}
}
运行时出现此错误
ReferenceError: Error #1069: Property currentCSSState not found on spark.components.Button and there is no default value.
at lcmp.web.wsc.ui.shared.controls.PreWSC.ProgramScore::ProgramScore/spinnerChange()[C:\TFS\Release Branches\CR13\Flex\Web\WSC\src\lcmp\web\wsc\ui\shared\controls\PreWSC\ProgramScore\ProgramScore.mxml:298]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()
at spark.components::Spinner/decrementButton_buttonDownHandler()[E:\dev\4.x\frameworks\projects\spark\src\spark\components\Spinner.as:455]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()
at spark.components.supportClasses::ButtonBase/commitProperties()[E:\dev\4.x\frameworks\projects\spark\src\spark\components\supportClasses\ButtonBase.as:745]
at mx.core::UIComponent/validateProperties()
任何人都知道我如何使用这个属性,或者只是用旋转器
更好的方法答案 0 :(得分:0)
没有名为“currentCSSState”的此类属性。但是,Spinner
控件具有stepSize
属性,您可以使用该属性控制在单击按钮时微调器增加/减少的量。如果将stepSize
设置为2,则这似乎与您要查找的内容相近。
如果您希望更好地控制微调器递增/递减值的方式,可以覆盖Spinner
控件的方法incrementButton_buttonDownHandler()
和decrementButton_buttonDownHandler()
,这些方法在您单击时执行的按钮。
以下是其中一种方法的默认实现:
protected function incrementButton_buttonDownHandler(event:Event):void
{
var prevValue:Number = this.value;
changeValueByStep(true);
if (value != prevValue)
dispatchEvent(new Event("change"));
}
您可以覆盖此项以根据自己的喜好递增this.value
,而不是调用changeValueByStep()
方法。你可能想看看那个changeValueByStep()
方法,这样你就可以看到它正在做什么(它尊重最小值/最大值,如果你到达终点就让值包装到开头,等等。) / p>