在flex中提供了iconFunction来进行图标的管理,如果不需要图标,可以直接返回为null就可以不显示任何图标
Flex提供了下面的集中方式进行设置
1、默认的Tree的属性是文件夹和文件都是通过 folderOpenIcon, folderClosedIcon, and defaultLeafIcon 来执行的,如果在程序中需要取得默认的参数可以通过这几个参数进行处理
var myMenu:SysMenu = SysMenu(item);
if(myMenu.children.length==0){
return leftMenuTree.getStyle("defaultLeafIcon");
}
if ( leftMenuTree.isItemOpen(item) ) {
return leftMenuTree.getStyle("folderOpenIcon");
} else {
return leftMenuTree.getStyle("folderClosedIcon");
}
当然也可以直接通过flex的标签来制定
<mx:Tree folderOpenIcon="@Embed(source='open.jpg')"folderClosedIcon="@Embed(source='closed.jpg')"defaultLeafIcon="@Embed(source='def.jpg')">
2、通过data provider来提供数据源的时候就指定icon
<mx:XMLList>
<node label="New">
<node label="HTML Document" icon="iconSymbol2"/>
<node label="Text Document" icon="iconSymbol2"/>
</node>
<node label="Close" icon="iconSymbol1"/>
</mx:XMLList>
3、通过函数setItemItcon
[Bindable]
[Embed(source="assets/radioIcon.jpg")]
public var iconSymbol1:Class;
[Bindable]
[Embed(source="assets/topIcon.jpg")]
public var iconSymbol2:Class;
private function setIcons():void {
myTree.setItemIcon(myTree.dataProvider.getItemAt(0),
iconSymbol1, iconSymbol2);
myTree.setItemIcon(myTree.dataProvider.getItemAt(1),
iconSymbol2, null);
}
4、Tree支持显示icon的属性iconFunction ,自定义处理函数就可以