我想知道是否有办法配置FLEX按钮,因此它的行为就像一个按钮......
答案 0 :(得分:2)
如果您只是需要它来切换(这是按钮的行为方式),请将其切换属性设置为true。
<mx:Button label="Button Test" toggle="true"/>
如果这不是您的意思,请在您的问题中更具体。
编辑:由于你提炼了你的问题,我建议你为按钮的mouseDown事件创建一个处理程序,它启动一个方法运行,并创建一个mouseUp处理程序来阻止该方法运行。或者更好的是,让它设置或取消设置变量,该变量在updateDisplayList()方法中进行测试。像这样:
private var _runButtonStuff:Boolean = false;
override protected function updateDisplayList(width:Number, height:number) : void {
super.updateDisplayList(width,height);
if (_runButtonStuff) {
doStuff();
}
}
private function doStuff() : void {
// do some stuff
}
private function buttonIsDown() : void {
_runButtonStuff = true;
}
private function buttonIsUp() : void {
_runButtonStuff = false;
}
,按钮如下所示:
<mx:Button text="Run Something" mouseDown="buttonIsDown()" mouseUp="buttonIsUp()"/>
答案 1 :(得分:2)
<mx:Button buttonDown="trace('ankur')" autoRepeat="true"/>
要使flex按钮接收连续事件,请使用带有buttonDown事件的autoRepeat属性,注意click属性将无效,
将此标记放在您的应用程序中,运行它,
我希望,这就是你想要的
thanx
Ankur Sharma
答案 2 :(得分:0)
<mx:Button label="Button Test" toggle="true" click="yourMethodName()"/>
public function yourMethodName():void {
var evt:someEventName = new someEventName(someEventName.TYPE);
dispatchEvent(evt);
}
现在,当您再次收听此事件时,请通过addEventListner再次调用相同的方法名称。它将永远持续发射相同的事件。
我有一个问题,您希望在什么情况下应用此功能。您可以通过EventDispatcher或一些ActionScript代码继续触发相同的方法名称,直到方程式解决。
根据您的要求,您可以去。我建议事件驱动,因为它更容易管理。