Flex火花列表视觉布局控制了多少个原子被粘合

时间:2012-07-05 07:15:07

标签: actionscript-3 flex flex-spark

我有一个带有自定义Itemrenderer的spark列表。 我使用virtuallayout,因为我用大约500个元素绑定它。

我跟踪了项目渲染器的datachange事件,我看到在第一次加载时大约有120个项目被绑定到列表中。 我需要在舞台上只显示10个项目,所以我想减少列表中提取的项目数量,是否有属性或函数要覆盖以获取此行为?

代码很简单

<s:List  id="thumbnailList" verticalScrollPolicy="off" 

 useVirtualLayout="true" itemRenderer="ThumbnailItemRenderer" >
        <s:layout>
            <s:HorizontalLayout gap="10"  requestedColumnCount="10"  />
        </s:layout>
    </s:List>

项目渲染器

<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                    xmlns:s="library://ns.adobe.com/flex/spark"
                    autoDrawBackground="false"  >
    <fx:Script>



            override public function set data(value:Object):void{
                super.data=value;
                if(data !=null){
                    LoadImg();

                }
            }


            protected function LoadImg():void{
                trace(data.pagnum.toString());
                var cacheDir:File=null;
                cacheDir= Config.DirCache();
                var folder:File = new File(cacheDir.nativePath + Config.CATALOG_FOLDER_NAME + Config.selected_catalog_id + "/");                    
                var file:File = new File(folder.nativePath + "/" + data.pagnum.toString() + "_th.jpg"); 
                trace(file.url);
                thumbnail.source = file.url;

                cacheDir=null;
                folder=null;
                file=null;

            }



    </fx:Script>


    <s:Image id="thumbnail" top="0" left="0" right="0" bottom="0" scaleMode="letterbox" cacheAsBitmap="true"  />
</s:ItemRenderer>

和列表的绑定

thumbnailList.dataProvider= {ArrayCollection with about 480 items}

0 个答案:

没有答案