我想在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>
答案 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
命名空间。