假设您的应用中有大量(N)个火花按钮。我们还要说你的按钮都有非常相似的皮肤(大小,各种效果等) - 唯一的区别是它们用作BitmapImage的特定png。 你最终得到N皮肤文件,所有不同的1行?或者,当你在MXML中创建按钮时(实际上,理想情况下,没有),在没有添加大量代码的情况下,有更智能的方法来执行此操作。
答案 0 :(得分:1)
创建一个带有图标的自定义按钮SkinPart键入为BitmapImage将允许您对所有按钮使用相同的外观:
<YourCustomButton icon="@Embed('yourIconFile.png') />
<强> CustomButton.as 强>
public class CustomButton extends Button
{
[SkinPart(required="false")]
public var iconContainer:BitmapImage;
private var _icon:Object;
public function CustomButton()
{
super();
}
override protected function partAdded(partName:String, instance:Object):void
{
super.partAdded(partName, instance);
if (instance == iconContainer && _icon)
iconContainer.source = _icon;
}
public function get icon():Object
{
return _icon;
}
public function set icon(value:Object):void
{
if (iconContainer)
iconContainer.source = value;
_icon = value;
}
}