我有火花按钮的自定义皮肤。
我需要使用皮肤控制我设置为按钮图标的图像的alpha。即我需要通过改变按钮状态来改变图像的不透明度。
是否有使用skin类的解决方法,而不是编写事件处理程序?
答案 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"
/>
它不会添加其他图标。