Flex Gumbo中如何通过itemRenderer属性创建翻转渐进颜色List的例子
By Minidxer | August 22, 2009
接下来的例子演示了Flex Gumbo中如何通过itemRenderer属性,创建翻转渐进颜色List。
下面是完整代码(或点击这里察看):
下面是main.mxml:
- <?xml version="1.0" encoding="utf-8"?>
- <s:Application name="Spark_List_itemRenderer_rollOverColor_LinearGradient_test"
- xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- xmlns:mx="library://ns.adobe.com/flex/halo">
- <mx:ApplicationControlBar width="100%" cornerRadius="0">
- <mx:Form styleName="plain">
- <mx:FormItem label="rollOverColor:">
- <mx:ColorPicker id="colorPicker1" selectedColor="red" />
- </mx:FormItem>
- <mx:FormItem label="contentBackgroundColor:">
- <mx:ColorPicker id="colorPicker2" selectedColor="purple" />
- </mx:FormItem>
- </mx:Form>
- </mx:ApplicationControlBar>
- <s:List id="list"
- itemRenderer="skins.CustomDefaultItemRenderer"
- rollOverColor="{colorPicker1.selectedColor}"
- contentBackgroundColor="{colorPicker2.selectedColor}"
- horizontalCenter="0"
- verticalCenter="0">
- <s:dataProvider>
- <s:ArrayList source="[The,Quick,Brown,Fox,Jumps,Over,The,Lazy,Dog]" />
- </s:dataProvider>
- </s:List>
- </s:Application>
下面是skins/CustomDefaultItemRenderer.mxml代码:
- <?xml version="1.0" encoding="utf-8"?>
- <s:ItemRenderer name="CustomDefaultItemRenderer"
- 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.hoveredAndShowsCaret="{rollOverColor}"
- color.selected="{selectionColor}"
- color.selectedAndShowsCaret="{selectionColor}" />
- </s:fill>
- <s:fill.hovered>
- <s:LinearGradient>
- <s:GradientEntry color="{rollOverColor}" />
- <s:GradientEntry color="{contentBackgroundColor}" />
- </s:LinearGradient>
- </s:fill.hovered>
- </s:Rect>
- <s:SimpleText id="labelDisplay"
- verticalCenter="0"
- left="3" right="3" top="6" bottom="4" />
- </s:ItemRenderer>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Gumbo, List |
No Comments » |
Tags: Gumbo, itemRenderer, lineargradient, rollOverColor