首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex tree相干知识

2012-11-10 
Flex tree相关知识1、 为tree设置节点图标flex tree中根据节点设置图标做法:用到哪个ico,则先把它定义成一

Flex tree相关知识
1、 为tree设置节点图标
  flex tree中根据节点设置图标
    做法:
    用到哪个ico,则先把它定义成一个class(会打包到swf中),然后通过xml的

icoField属性或者通过icoFunction事件来返回相应的图标。
  如:
   [Embed(source="assets/max_over.gif")]          //这是图片的相对地址
         [Bindable]
         public var OKicon:Class;

<mx:Tree id="tree" iconField="OKicon" />
  使用iconFunction的情形:
  //设置不同图表         
   private function iconFun(item:Object):*
   {
    var xml:XML     = item as XML;
  
    if(xml.attribute("bool") == true)
     return OKicon;
    else if(xml.attribute("bool") == false)
     return NOicon;
   } 

<mx:Tree id="tree" iconFunction="iconFun" />
   如下两种方式都是用的Tree原有的属性,这个方法不好的地方时它只支持传输

class对象,这样必须预先加载所需的ico。
  如果希望直接指定ico地址..我们可以自定义itemRenderer..然后把ico用一个image

或loader代替..

2、 去掉默认的文件夹样式
   删除flex tree组件的文件夹图标:
    <mx:Style>
    Tree {
        folderClosedIcon: ClassReference(null);
        folderOpenIcon: ClassReference(null);
    }
</mx:Style>

扩展:
.treeStyte{
    selectionColor: #417597;
    /* 去掉默认图标 */
    folderClosedIcon: ClassReference(null);
            folderOpenIcon: ClassReference(null);
            defaultLeafIcon: ClassReference(null); 
            disclosureOpenIcon:ClassReference(null);
          
            /*为默认、打开、关闭、有子项等几个状态添加不同的ico*/
   defaultLeafIcon: Embed(source="img/tree/user_man.png");
  /* folderOpenIcon: Embed(source="img/tree/usergroup.png"); */
   folderClosedIcon: Embed(source="img/tree/usergroup.png");
   disclosureOpenIcon: Embed(source="img/tree/user_men.png");
   }

3、 flex 中如何清空xml中的数据?
    解决方案:
A、 直接使用delete 进行删除
B、 手动赋值如: var xml:XML = <a></a>;也相当于将<a></a>中的内容清空了

4、 viewStack组件默认的加载策略为加载第一个, 若要全部加载可设置属性creationPolicy="all"


 

热点排行