我有火花按钮的自定义皮肤。
我需要使用皮肤控制我设置为按钮图标的图像的 alpha。即我需要图像随着按钮状态的变化而改变其不透明度。
是否有解决方法,使用皮肤类,而不是编写事件处理程序?
我有火花按钮的自定义皮肤。
我需要使用皮肤控制我设置为按钮图标的图像的 alpha。即我需要图像随着按钮状态的变化而改变其不透明度。
是否有解决方法,使用皮肤类,而不是编写事件处理程序?
当您创建新的按钮皮肤时,您可以在那里看到生成的 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"
/>
它不会添加另一个图标。