0

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

我需要使用皮肤控制我设置为按钮图标的图像的 alpha。即我需要图像随着按钮状态的变化而改变其不透明度。

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

4

1 回答 1

3

当您创建新的按钮皮肤时,您可以在那里看到生成的 mxml 标记,它根据状态为矩形设置不同的渐变。

因此,您可以为图像中的不同状态设置 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"
                   />

它不会添加另一个图标。

于 2012-12-25T08:36:13.907 回答