最近才开始因为项目需要做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>