我有一系列按钮,每个按钮都有自己的图标。 我想知道是否必须为每个按钮创建一个Spark皮肤文件,以便分配其图标。
感谢
答案 0 :(得分:1)
您不必创建单独的皮肤,您可以使用您可以设置的属性制作1个皮肤和1个类(扩展Button
),以根据按钮确定要绘制的图标。
您可以像这样扩展按钮类
package com.components
{
import spark.components.Button;
//icons
[Style(name="iconImg",type="*")]
public class IconButton extends Button
{
public function IconButton()
{
super();
}
}
}
此时您将拥有一组IconButton
,并且您需要为每个iconImg
设置[Embed('assets/bookmarkIcon.png')]
public static const icon_bookmark:Class;
属性。
声明图标
iconImg
并设置<components:IconButton id="ibBookmark"
iconImg="{icon_bookmark}"
skinClass="com.skins.IconButtonSkin"
click="" />
属性
<mx:Image id="icon" source="{hostComponent.getStyle('iconImg')}" />
然后在你的皮肤中使用这样的属性
{{1}}