【发布时间】:2010-05-11 14:56:03
【问题描述】:
我有一个带有一些按钮的 HGroup,里面是我的应用程序的菜单。
<s:HGroup id="nav">
<s:Button id="homeButton" label="Home" />
<s:Button id="showroomButton" label="Showroom" />
<s:Button label="Catalogue" />
<s:Button label="Offers" />
<s:Button label="My Account" />
<s:Button label="My Orders" />
</s:HGroup>
我想要的是,例如当我单击 #homeButton 以将其状态更改为“结束”、禁用并将所有其他按钮重置为“向上”状态时。
我写了这个函数
private function resetNavState():void {
for(var i:int = 0,ii:int = nav.numChildren-1;i<ii;i++) {
Button(nav.getChildAt(i)).mouseEnabled = true;
Button(nav.getChildAt(i)).skin.setCurrentState("up",true);
}
}
然后在 homeButton 单击处理程序上,例如我使用
protected function homeButton_clickHandler(event:MouseEvent):void
{
resetNavState();
currentState = "home";
homeButton.skin.setCurrentState("over",true);
homeButton.mouseEnabled = false;
}
我重置了#nav 按钮的状态,但它不会改变按下按钮的状态。
有什么想法吗?
提前感谢
【问题讨论】:
标签: apache-flex flex4