我有List
itemRenderer
来显示一些数据。无论如何我可以为备用行设置不同的样式或背景颜色吗?
我的List
如下:
<mx:List id="myList" alternatingItemColors="[0xffffff, 0xe4e4e4]"
borderStyle="none"
width="100%" height="100%" y="25"
dataProvider="{infoColl}"
styleName="listRendererStyle"
itemRenderer="InfoRenderer"/>
答案 0 :(得分:1)
将spark.skins.spark.DefaultItemRenderer
的代码视为模式。有以下代码来获取背景颜色(请参阅updateDisplayList
):
var alternatingColors:Array = getStyle("alternatingItemColors");
if (alternatingColors && alternatingColors.length > 0)
{
// translate these colors into uints
styleManager.getColorNames(alternatingColors);
backgroundColor = alternatingColors[itemIndex % alternatingColors.length];
}
但是如果您使用spark.components.supportClasses.ItemRenderer
作为MXML渲染器的基类,只需将autoDrawBackground
属性设置为true
,所有背景都将自动绘制。
或阅读the following documentation如何设置列表的alternatingItemColors
样式以更改交替行的值。
答案 1 :(得分:0)
对于Flex3或MX,您可以使用alternatingItemColors
样式属性来实现此目的。
<mx:List id="myList" alternatingItemColors="[0xffffff, 0xe4e4e4]"/>
对于Flex4或Spark,您可以查看@ Constantiner的答案,以进行精细/深层次的自定义。
猜猜alternatingItemColors
会做什么,并确保您没有将backgroundAlpha
的{{1}}属性设置为0或更低的值。