一种是直接在用嵌入的方式实现
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical">
<mx:Script>
<![CDATA[
[Bindable]
[Embed(source="assets/append.png")]
private var Icon:Class;
]]>
</mx:Script>
<mx:Button id="b1" label="Button1" icon="{Icon}" />
<mx:Button id="b2" label="Button2" icon="@Embed('assets/bug.png')" />
</mx:Application>
另一种是用setStyle 的方式实现
b1.setStyle("icon",Icon);
但是如何动态加载图标而不是以编译进去的方式实现呢,找了好久终于在一个英文网站上找到了解决方案。
这片文章的作者是 Ben Stucki 他自己写了类来实现动态加载Icon图标,操作起 来非常简单,实例如下:
<mx:Button id="button1" icon="{IconUtility.getClass(button1, 'http://onair.adobe.com/images/lynch.jpg', 32, 32)}" />
这个需要在script代码块中导入这个类
import com.benstucki.utilities.IconUtility;
大 家可以试一下。
文章查考来源于 Ben Stucki 的博客,大家可以到 他的网站上下载 IconUtility的swc包,地址如下:
http://blog.benstucki.net/?p=42