如何在鼠标悬停时更改mx togglebuttonbar的文本颜色

时间:2013-02-28 09:13:51

标签: actionscript-3 flex flex4 flex3

我想通过更改我想要将文本颜色更改为不同的样式来更改翻转时MX ToggleButtonBar控件的文本颜色。谁能帮帮我吗。 例如,我在主页按钮上覆盖了鼠标,颜色的文本应该变为绿色而不是背景颜色。

<mx:ToggleButtonBar id="toggBar" direction="horizontal" horizontalGap="20" height="100" paddingLeft="60" 
                         horizontalScrollPolicy="off" verticalScrollPolicy="off" selectedIndex="1" 
                         >
        <mx:dataProvider>
            <fx:Object label="Home" id="home"  screenIndex="-1"/>
            <fx:Object label="About" id="about"  screenIndex="1"/>
            <fx:Object label="Contact" id="contact" screenIndex="2"/>
            <fx:Object label="Help" id="help" screenIndex="3"/>
        </mx:dataProvider> 
    </mx:ToggleButtonBar>

2 个答案:

答案 0 :(得分:0)

将此添加到元素标记:

onmouseover="this.style.color='#123456'" onmouseout="this.style.color='#654321'" 

将第一种颜色替换为您想要更改的颜色,第二种颜色替换为正常颜色。

或者将其添加到样式表中:

#labelid1:hover {color:#123456;}
#labelid2:hover {color:#123456;}
#labelid3:hover {color:#123456;}

更好的是为每个按钮添加一个类名并使用

.labelclassname:hover {color:#123456;}

答案 1 :(得分:0)

您可以使用mxml hack(或代码注释):

    <mx:ToggleButtonBar id="toggBar" direction="horizontal" horizontalGap="20" height="100" paddingLeft="60"
                    color="0x00ff00"
                    horizontalScrollPolicy="off" verticalScrollPolicy="off" selectedIndex="1"

                    <!-- Warning! Better create custom ToggleButtonBar with your logic mouseOver -->
                    mouseOver="{UITextField((event.target).mx_internal::getTextField()).textColor=0xff0000}"
                    >
    <mx:dataProvider>
        <fx:Object label="Home" id="home"  screenIndex="-1"/>
        <fx:Object label="About" id="about"  screenIndex="1"/>
        <fx:Object label="Contact" id="contact" screenIndex="2"/>
        <fx:Object label="Help" id="help" screenIndex="3"/>
    </mx:dataProvider> 
</mx:ToggleButtonBar>