Spark ItemRenderer不显示内容
我有一个spark列表组件和一个相应的自定义itemrenderer
:
列表组件:
<s:List id="albumImagesList" itemRenderer="the.namespace.for.XYZImageRenderer" useVirtualLayout="false" width="400" height="160">
<s:layout>
<s:TileLayout requestedColumnCount="5"
requestedRowCount="2"
rowHeight="80"
columnWidth="80"
horizontalGap="0"
verticalGap="0" />
</s:layout>
</s:List>
项目渲染器:
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
autoDrawBackground="true" width="100%" height="100%">
<s:states>
<s:State name="normal" />
</s:states>
<s:BitmapImage source="{data.image_path}" width="70" height="70" horizontalCenter="0" verticalCenter="0" />
</s:ItemRenderer>
这一切都很好,很好,数据正确填充,并验证data.image_path
属性在itemrenderer
内部安全无恙。
我唯一的问题是:图像不显示。 我不确定它是否完全不渲染,或者它是否以某种方式不可见。
有没有人乍一看? 我在这里做一些根本性的错误吗? 我之前和mx项目渲染器一起工作过,我从来没有遇到那么多麻烦。
经过一些摸索和检查,我想这是我的问题的答案。 也许有人可以证实这一点,但我认为这是非常重要的:
“bitmapimage”只能从可信(crossdomain-policy'ed)域加载数据。 所以使用本地文件是没有问题的,但是我正在加载远程图像,而且bitmapimage默默关闭,什么都不做。 没有要求,什么都没有。
旧的“图像”可以加载任何东西,无论它来自何处,所以我现在切换到这个解决方案。
BitMapImage.source需要三件事情之一。 引用文档:
这听起来像你给它一个URL位置。 如果是这样,那么使用Image,而不是BitMapImage。
唷,好吧使用这家伙的方法得到了修复:http://polygeek.com/2452_flex_extending-spark-bitmapimage
也许这会对某人有所帮助。
干杯!
链接地址: http://www.djcxy.com/p/34611.html上一篇: Spark ItemRenderer not showing contents
下一篇: Does Spark List honour the IDropInItemRenderer interfaces?