Spark ItemRenderer не показывает содержимое - PullRequest
0 голосов
/ 01 марта 2011

У меня есть компонент списка свечей и соответствующий пользовательский 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 item, и у меня никогда не было таких проблем.

Ответы [ 3 ]

0 голосов
/ 01 марта 2011

BitMapImage.source ожидает одну из трех вещей.Чтобы процитировать из документов:

  • Экземпляр Bitmap или BitmapData.
  • Класс, представляющий подкласс DisplayObject.BitmapFill создает экземпляр класса и создает его растровое отображение.
  • Экземпляр DisplayObject.BitmapFill копирует его в растровое изображение для заполнения.

Похоже, вы указали ему URL-адрес.Если это так, то используйте Image , а не BitMapImage.

0 голосов
/ 01 марта 2011

фу, ладно, исправлюсь, используя подход этого парня: http://polygeek.com/2452_flex_extending-spark-bitmapimage

возможно, это кому-то поможет.

ура!

0 голосов
/ 01 марта 2011

после небольшого возни и проверки я полагаю, что это ответ на мой вопрос. Может быть, кто-то может подтвердить это, но я думаю, что это в значительной степени на:

"bitmapimage" может загружать данные только из доверенных доменов (с политикой кросс-домена). так что с локальными файлами это не проблема, но я загружал удаленные изображения, и с этим растровое изображение молча выключается и ничего не делает. нет запроса на получение, ничего.

старое «изображение» может загружать материал независимо от того, где оно возникло, и поэтому я перехожу к этому как к решению.

...