使用皮肤更改Flex按钮图标Alpha

时间:2012-12-25 07:57:20

标签: actionscript-3 flex button icons skin

我有火花按钮的自定义皮肤。

我需要使用皮肤控制我设置为按钮图标的图像的alpha。即我需要通过改变按钮状态来改变图像的不透明度。

是否有使用skin类的解决方法,而不是编写事件处理程序?

1 个答案:

答案 0 :(得分:3)

创建新的按钮外观时,您可以看到生成的mxml标记,根据状态为rects设置不同的渐变。

因此,您只需为图像中的不同状态设置Alpha值,例如

<s:Image alpha.disabled="0.1" alpha.over="0.4" />等等。

<强>更新

现在我理解你的问题了。图标(由icon属性设置)由spark.skins.SparkButtonSkin中的代码定义和管理,您生成的外观将扩展该类。

呈现图标的控件ID为iconDisplay类型的BitmapImage

因此,您可以通过向生成的皮肤添加以下代码来更改其行为:

 <s:BitmapImage id="iconDisplay"
                   alpha.down="0.5"
                   alpha.over="0.7"
                   alpha.up="0"
                   />

它不会添加其他图标。