felx4的spark.List的几个问题

最近用Flex 4 写一个程序,用到Spark中的List组件,由于Spark组件和mx组件的用法有较大差别,碰到几个问题折腾半天,最后通过google得到解决。

1. itemRender 之“访问的属性data未定义”

如下代码:编译时提示错误:访问的属性data未定义。

                <s:List id="listTools" buttonMode="true" contentBackgroundAlpha="0.5" contentBackgroundColor="#0000FF" >
<s:layout>
<s:TileLayout requestedColumnCount="2"
horizontalGap
="2"
verticalGap
="2" />
</s:layout>
<s:dataProvider>
<s:ArrayList>
<fx:Object name="ArrowTool" title="箭头" icon="{icon_tool_arrow}" />
<fx:Object name="CropTool" title="Crop" icon="{icon_tool_crop}" />
<fx:Object name="BrushTool" title="画笔" icon="{icon_tool_brush}" />
<fx:Object name="PencilTool" title="铅笔" icon="{icon_tool_pencil}" />
</s:ArrayList>
</s:dataProvider>
<s:itemRenderer>
<fx:Component>
<s:ToggleButton icon="{data.icon}" toolTip="{data.title}" width="31" height="31"/>
</fx:Component>
</s:itemRenderer>
</s:List>



Spark组件内联itemRender定义的正确写法是:

                    <s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<s:ToggleButton icon="{data.icon}" toolTip="{data.title}" width="31" height="31"/>
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
ItemRenderer是Spark组件项呈示器的基类。

2.Spark.List组件的背景默认居然不是透明的,以下代码可以让其背景透明:

s|List {
contentBackgroundAlpha
: 0;
}

通过contentBackgroundAlpha或contentBackgroundColor可改变List的背景透明度或背景颜色。

<s:List id="listTools" buttonMode="true" contentBackgroundAlpha="0.5" contentBackgroundColor="#0000FF" >
</s:list>







原文地址:https://www.cnblogs.com/legendjslc/p/2269750.html