0
假設您的應用中有大量(N)個閃光按鈕。我們還要說,你的按鈕都有非常相似的皮膚(大小,各種效果等) - 唯一的區別是它們用作BitmapImage的特定png。 你最終是否有N個皮膚文件,所有區別都是1行?或者,當你在MXML中創建按鈕時(實際上,理想情況下沒有),在添加大量代碼的同時還有更智能的方法。剝皮多個UI組件
假設您的應用中有大量(N)個閃光按鈕。我們還要說,你的按鈕都有非常相似的皮膚(大小,各種效果等) - 唯一的區別是它們用作BitmapImage的特定png。 你最終是否有N個皮膚文件,所有區別都是1行?或者,當你在MXML中創建按鈕時(實際上,理想情況下沒有),在添加大量代碼的同時還有更智能的方法。剝皮多個UI組件
創建自定義按鈕有圖標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;
}
}
弗洛裏安,謝謝爲您的建議。我認爲你正在嘗試一些東西,但我不清楚你是如何設置它的 - 我一直在嘗試,但對SkinPart的體驗很少。任何機會,你可以發佈一些代碼? – 2011-02-02 15:57:02