昨天弄了一个IconUtility,可以动态的更改组件的icon。不过感觉有点大材小用,我的需求是在创建的时候决定用哪一个icon,创建好了后就不会再变了,所以用不着那么的动态。于是找到第二种方法,我觉得更好:
首先定义好CSS:
.lbFunc08{
icon:Embed(source="/modules/mainFrame/images/21.gif");
}
.lbFunc0801{
icon:Embed(source="/modules/mainFrame/images/32.gif");
}
然后:
<mx:LinkButton id="moduleMenu" styleName="lbFunc{_menuId}"/>
AS:
override public function set data(value:Object):void{
if (value != null) {
_data = value as MenuItem;
_menuId = _data.menuId
_menuName = _data.menuName
trace(_menuId);
}
}
根据menuId来加载不同的css,这样显得更简洁明了。
另,研究过程中接触了一下StyleManager,这个东东可以动态的加载css,不错,几篇教程:
http://hi.baidu.com/hay100800/blog/item/227c35cc1c2d0c1800e928fa.html
http://hi.baidu.com/yitao/blog/item/b78f921363205d856438db66.html
http://blog.minidx.com/2008/03/02/531.html
********************************************************************************
可以深入研究一下itemrenderer这个东东,复杂的时候有点难搞