Flex 4中如何在Spark List中显示Icon图标的例子
By Minidxer | October 24, 2009
接下来的例子演示了Flex 4中如何通过自定义数据提供源,在Spark List中显示Icon图标。
下面是main.mxml:
- <?xml version="1.0" encoding="utf-8"?>
- <s:Application name="Spark_List_itemRenderer_test"
- xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:mx="library://ns.adobe.com/flex/halo"
- xmlns:s="library://ns.adobe.com/flex/spark">
- <s:List id="list"
- labelField="label"
- itemRenderer="skins.CustomIconItemRenderer"
- horizontalCenter="0"
- verticalCenter="0">
- <s:dataProvider>
- <s:ArrayList>
- <fx:Object label="red" ico="@Embed('assets/bullet_red.png')" />
- <fx:Object label="orange" ico="@Embed('assets/bullet_orange.png')" />
- <fx:Object label="yellow" ico="@Embed('assets/bullet_yellow.png')" />
- <fx:Object label="green" ico="@Embed('assets/bullet_green.png')" />
- <fx:Object label="blue" ico="@Embed('assets/bullet_blue.png')" />
- </s:ArrayList>
- </s:dataProvider>
- </s:List>
- </s:Application>
下面是skins/CustomIconItemRenderer.mxml的代码:
- <?xml version="1.0" encoding="utf-8"?>
- <s:ItemRenderer name="CustomIconItemRenderer"
- xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- focusEnabled="false">
- <!-- states -->
- <s:states>
- <s:State name="normal" />
- <s:State name="hovered" />
- <s:State name="selected" />
- <s:State name="normalAndShowsCaret"/>
- <s:State name="hoveredAndShowsCaret"/>
- <s:State name="selectedAndShowsCaret"/>
- </s:states>
- <fx:Script>
- <![CDATA[
- override public function set label(value:String):void {
- super.label = value;
- labelDisplay.text = label;
- }
- ]]>
- </fx:Script>
- <s:Rect left="0" right="0" top="0" bottom="0">
- <s:stroke.normalAndShowsCaret>
- <s:SolidColorStroke color="{selectionColor}" weight="1"/>
- </s:stroke.normalAndShowsCaret>
- <s:stroke.hoveredAndShowsCaret>
- <s:SolidColorStroke color="{selectionColor}" weight="1"/>
- </s:stroke.hoveredAndShowsCaret>
- <s:stroke.selectedAndShowsCaret>
- <s:SolidColorStroke color="{selectionColor}" weight="1"/>
- </s:stroke.selectedAndShowsCaret>
- <s:fill>
- <s:SolidColor color.normal="{contentBackgroundColor}"
- color.normalAndShowsCaret="{contentBackgroundColor}"
- color.hovered="{rollOverColor}"
- color.hoveredAndShowsCaret="{rollOverColor}"
- color.selected="{selectionColor}"
- color.selectedAndShowsCaret="{selectionColor}" />
- </s:fill>
- </s:Rect>
- <s:BitmapImage id="icon"
- source="{data.ico}"
- verticalCenter="0"
- left="3" />
- <s:SimpleText id="labelDisplay"
- verticalCenter="0"
- left="23" right="3" top="6" bottom="4"/>
- </s:ItemRenderer>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics: Gumbo, List | No Comments » |