突出显示控制栏中选定的按钮

发布于 2024-11-03 08:12:31 字数 134 浏览 1 评论 0原文

我的应用程序中有 3 个按钮(例如 b1、b2、b3),位于控制栏下方 单击这些按钮它将打开新视图(组件) 假设如果单击按钮 b1,它应该突出显示按钮 b1(背景颜色更改)。 如何解决这个问题,抱歉,如果这是菜鸟问题,因为我是新手,

谢谢

I have 3 buttons(say b1,b2,b3) in my app which are under the controlbar
on clicking those buttons it will open new view(components)
suppose if button b1 is clicked it should highlight the button b1(bg color change).
how to go about this sorry if it is noob question as am new to this

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

最好是你 2024-11-10 08:12:31

我认为你应该在这里使用 ToggleButton 按钮栏对按钮进行分组

编辑你的问题我认为你需要在按钮单击上切换视图
在这种情况下,您可能会看到 Tab Navigator

希望这有帮助

I think you should use ToggleButton here is example
also check Button Bar to group buttons

EDITED by you question i think you need to switch views on Button click
in that case you may see Tab Navigator

hopes thst helps

牵你的手,一向走下去 2024-11-10 08:12:31

将按钮的 toggle 属性设置为 true,如 在文档中,然后管理已选择 按钮属性(对于活动按钮,将其设置为 true)。

Set toggle property for buttons to true as in documentation and then manage selected property for buttons (set it to true for active button).

情话已封尘 2024-11-10 08:12:31

尝试这个例子,因为您正在寻找一个没有任何按钮栏的解决方案

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" minWidth="955" minHeight="600">

    <mx:Script>
        <![CDATA[
            import mx.core.UIComponent;
            protected function button1_clickHandler(event:MouseEvent):void
            {
                for each(var child:UIComponent in hbox.getChildren())
                {
                    if(child.className == 'Button')
                    {
                        Button(child).selected = false;
                    }
                }
                event.currentTarget.selected = true;
            }
        ]]>
    </mx:Script>

    <mx:HBox id="hbox">
        <mx:Button label="B1" toggle="true" click="button1_clickHandler(event)"/>
        <mx:Button label="B2" toggle="true" click="button1_clickHandler(event)"/>
        <mx:Button label="B3" toggle="true" click="button1_clickHandler(event)"/>
    </mx:HBox>
</mx:Application>

为了控制选定状态下按钮的背景颜色,定义selectedUpSkin,selectedOverSkin,selectedDownSkin(和selectedDisabledSkin)

PS:如果您仅使用控制栏中的按钮,您可以使用 Button 作为子类型并避免使用 if 语句

Try this example,since you are looking for a solution without any button bars

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" minWidth="955" minHeight="600">

    <mx:Script>
        <![CDATA[
            import mx.core.UIComponent;
            protected function button1_clickHandler(event:MouseEvent):void
            {
                for each(var child:UIComponent in hbox.getChildren())
                {
                    if(child.className == 'Button')
                    {
                        Button(child).selected = false;
                    }
                }
                event.currentTarget.selected = true;
            }
        ]]>
    </mx:Script>

    <mx:HBox id="hbox">
        <mx:Button label="B1" toggle="true" click="button1_clickHandler(event)"/>
        <mx:Button label="B2" toggle="true" click="button1_clickHandler(event)"/>
        <mx:Button label="B3" toggle="true" click="button1_clickHandler(event)"/>
    </mx:HBox>
</mx:Application>

For controlling the background color of the buttons in selected state,define selectedUpSkin,selectedOverSkin,selectedDownSkin(and selectedDisabledSkin)

P.S:If you are using only buttons in the control bar,you can use Button as the type of child and avoid that if statement

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文