flex,鼠标悬停时更改按钮图像

时间:2012-06-29 06:30:05

标签: image flex button

使用以下代码,我在鼠标悬停按钮时实现了图像更改。 但图像名称是硬编码的,在样式中指定。怎么能让它参数化?我想重用这个小实用程序与图像名称作为输入参数。 所有使用的图像(在我的情况下为14个图像)将包含在flex项目中。 我正在使用flex 3

<mx:Style>  
    .myCustomButton {
        upSkin: Embed(source="jjyxfx.png");
        overSkin:Embed(source="cwgl.png");
       downSkin: Embed(source="cwgl.png");

    }
</mx:Style>

<mx:Button y="0" width="105" height="107" fillAlphas="[1.0, 1.0, 1.0, 1.0]" x="0" fillColors="[#3AA2D9, #3AA2D9]" styleName="myCustomButton" useHandCursor="true" buttonMode="true"/>

1 个答案:

答案 0 :(得分:0)

我不相信你不能参数化CSS样式;所以你必须通过ActionScript设置样式:

public function setStylesOnButton(upSkinValue:String,overSkinValue:String,downSkinStyle:String):void{
  myButton.setStyle('upSkin',upSkinValue);
  myButton.setStyle('overSkin',overSkinValue);
  myButton.setStyle('downSkin',downSkinStyle);
}

确保您的按钮具有ID,以便您可以在ActionScript中访问它:

<mx:Button id="myButton" y="0" width="105" height="107" fillAlphas="[1.0, 1.0, 1.0, 1.0]" x="0" fillColors="[#3AA2D9, #3AA2D9]" styleName="myCustomButton" useHandCursor="true" buttonMode="true"/>