繁体   English   中英

HGroup中的Flex 4 Button状态

[英]Flex 4 Button state in a HGroup

我有一个带有一些按钮的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来将其状态更改为“ over”,被禁用并将所有其他按钮重置为“ up”状态时。

我已经写了这个功能

    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按钮的状态,但它不会更改按下按钮的状态。

有任何想法吗?

提前感谢

您需要将按钮放在<s:ButtonBar />控件中而不是HGroup中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM