Изображения в Adobe Flex

Я новичок в Adobe Flex / Actionscript и пытаюсь создать приложение для поиска людей. Пока что мои результаты отображаются в виде горизонтального списка, но я хотел бы включить изображение над каждым именем, как показывают мои замечательные навыки рисования:

введите описание изображения здесь

/* listOfPeople is a list of arrays with a["name"] a["sex"] a["dob"] and 
   a["image"] which is just a URI to the image */

<s:List width="100%" height="100%" id="results" dataProvider="{listOfPeople}" change="clickPerson(event)">
    <s:itemRenderer>
        <fx:Component>
            <s:MobileIconItemRenderer
                iconField="{data.image}"
                 iconHeight="100" iconWidth="100"
                label="{data.name} - {data.sex}"
                messageField="dob"/>
        </fx:Component>

    </s:itemRenderer>
    <s:layout>
        <s:HorizontalLayout paddingBottom="100" gap="6" paddingTop="100" paddingLeft="0"
            paddingRight="0"
            requestedColumnCount="-1"
            variableColumnWidth="true"
            verticalAlign="bottom"
            /> 
    </s:layout>
</s:List>

Любые идеи? IconField, похоже, вообще не отображается ... даже при использовании полного пути с правильными обратными косыми чертами

Ура, Фил

РЕДАКТИРОВАТЬ:

Изображение отлично отображается на экране PersonDetails при нажатии на человека:

<s:HGroup verticalAlign="middle" gap="12" paddingTop="10" paddingLeft="10">

    <s:Image source="{data.image}" height="170" width="170"/>

    <s:VGroup>
        <s:Label text="{data.name}"/>
        <s:Label text="{data.dOB}"/>
        <s:Label text="{data.sex}"/>
        <s:Label text="{data.birthplace}"/>
        <s:Label text="{data.colour} {data.ethnicity}"/>
        <s:Label text="{data.height}"/>
    </s:VGroup>

</s:HGroup>

person p_mcp    schedule 31.03.2011    source источник
comment
В чем ценность data.image?   -  person Florian F    schedule 31.03.2011
comment
это просто uri, например: C: \ Users \ pmcparlane \ Adobe Flash Builder Burrito Preview \ PersonSearch \ images \ default.jpg   -  person p_mcp    schedule 31.03.2011
comment
Вы видите это, если вместо этого используете вертикальную компоновку?   -  person Florian F    schedule 31.03.2011
comment
Да, хорошо отображается, когда я просматриваю людей, чтобы получить их детали. см править   -  person p_mcp    schedule 31.03.2011


Ответы (1)


Я думаю, что MobileIconItemRenderer отображает все элементы в горизонтальном расположении. Если вы хотите отображать изображение поверх текста, вам необходимо создать собственное средство визуализации или расширить MobileIconItemRender и изменить способ размещения его элементов.

person Florian F    schedule 31.03.2011
comment
+1 Да, к сожалению, это не так просто, как хотелось бы. MobileIconItemRenderer - это класс, предназначенный только для ActionScript. Он добавляет всех дочерних элементов и обрабатывает обновления непосредственно в AS3, в отличие от использования MXML и скинов. Это сделано в целях повышения эффективности. Вы всегда можете создать стандартный MXML ItemRenderer, но откажетесь от perf. Однако я раньше расширял MobileItemRenderer, так что это можно сделать. Я действительно рекомендую расширять MobileItemRenderer, потому что его проще расширять, и использовать код из MobileIconItemRenderer в качестве руководства. - person Brian Genisio; 31.03.2011