最近才开始因为项目需要做flex,但是貌似flex只能在air方式下遍历文件夹,于是自己就用特笨的方法让给ItemRender赋值传参进行文件夹中图片的展现,因为只是为了展现几个样例图标,所以这种方式目前还是解决了问题。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Embed(source="assets/1.jpg")]
private static const you : Class;
[Embed(source="assets/2.jpg")]
private static const liang:Class;
[Embed(source="assets/3.jpg")]
private static const cha : Class;
[Embed(source="assets/4.jpg")]
private static const hao : Class;
[Bindable]
private var imageList : ArrayCollection = new ArrayCollection([
{img:"@Embed('assets/1.jpg')"},
{img:"@Embed('assets/2.jpg')"},
{img:"@Embed('assets/3.jpg')"},
{img:"@Embed('assets/4.jpg')"},
{img:"@Embed('assets/5.jpg')"},
{img:"@Embed('assets/6.jpg')"},
{img:"@Embed('assets/7.jpg')"}
//下面这种方式图片倒是正常显示出来了,但是上面将图片路径直接绑定数据却无法正常显示图片
/*{img:you},
{img:liang},{img:cha},{img:hao}*/
]);
]]>
</fx:Script>
<s:Label text="图片列表"/>
<mx:TileList itemRenderer="Factory.imgItemRender" dataProvider="{imageList}" width="300"/>
</s:Application>
用到的ItemRender
<?xml version="1.0" encoding="utf-8"?>
<s:MXItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Image width="15" height="15" source="{data.img}" />
</s:MXItemRenderer>