Flex自定义列表选择不突出显示

时间:2010-03-18 04:19:57

标签: flex flash list custom-controls selection

我想在Flex中为界面原型创建自定义列表。该列表应该有一个图像和3个文本字段。这是我到目前为止所做的,显示的控件就是我想要的。但是,当我点击其中一个项目时,该项目不会(视觉上)被选中。我不确定如何实现这一点。

到目前为止,这是我的代码:

<s:List width="400" height="220" 
        dataProvider="{arrColl}"
        alternatingItemColors="[#EEEEEE, white]">
    <s:itemRenderer>
        <fx:Component>
            <mx:Canvas height="100">
                <mx:Image height="90" width="120" source="{data.imageSource}"></mx:Image>
                <mx:Label left="125" y="10" text="{data.title}" />
                <mx:Label left="125" y="30" text="{data.type}" />
                <mx:Label left="125" y="50" text="{data.description}" />
            </mx:Canvas>
        </fx:Component>
    </s:itemRenderer>
</s:List>

2 个答案:

答案 0 :(得分:0)

不确定data.imageSource是什么类型的图形。也许图像掩盖了亮点。你能尝试将它作为Canvas的backgroundImage吗?此外,我注意到在列表和网格中使用PNG或JPG图像可以屏蔽高亮颜色。它们还可以防止鼠标点击到达listItem。如果可能,请尝试使用带矢量图形的SWF。

答案 1 :(得分:0)

对于其他人而言,他们被困在同一条船上 - 这就是我所做的,而且现在有效:

<mx:List width="400" height="220" 
        dataProvider="{arrColl}"
        alternatingItemColors="[#EEEEEE, white]">
    <mx:itemRenderer>
        <fx:Component>
                <mx:Canvas height="100">
                    <mx:Image height="90" width="120" source="{data.imageSource}"></mx:Image>
                    <mx:Label left="125" y="10" text="{data.title}" fontWeight="bold" />
                    <mx:Label left="125" y="30" text="{data.type}" fontStyle="italic" />
                    <mx:Label left="125" y="50" text="{data.description}" />
                </mx:Canvas>
        </fx:Component>
    </mx:itemRenderer>
</mx:List>

注意:区别在于List和itemRenderer来自mx命名空间而不是s命名空间。