2

使用以下代码,当鼠标悬停按钮时,我已经实现了图像更改。但是图像名称是硬编码的,在样式中指定。如何使其参数化?我想重用这个以图像名称作为输入参数的小实用程序。所有使用的图像(在我的例子中是 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"/>

4

1 回答 1

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"/>
于 2012-06-29T11:37:11.203 回答