Flex中如何控制Accordion容器内当前项目改变时延迟效果的例子
By Minidxer | August 14, 2008
和前面Flex中在改变ColorPicker选取颜色时动态延迟效果的例子比较类似的,接下来的例子演示了Flex中如何控制Accordion容器内当前项目改变时延迟效果。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- and-easing-functions/ -->
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white"
- creationComplete="init()">
- <mx:Script>
- <![CDATA[
- import mx.effects.easing.*;
- private function init():void {
- /** Back */
- arrColl.addItem({label:"Back.easeIn", func:Back.easeIn});
- arrColl.addItem({label:"Back.easeOut", func:Back.easeOut});
- arrColl.addItem({label:"Back.easeInOut", func:Back.easeInOut});
- /** Bounce */
- arrColl.addItem({label:"Bounce.easeIn", func:Bounce.easeIn});
- arrColl.addItem({label:"Bounce.easeOut", func:Bounce.easeOut});
- arrColl.addItem({label:"Bounce.easeInOut", func:Bounce.easeInOut});
- /** Circular */
- arrColl.addItem({label:"Circular.easeIn", func:Circular.easeIn});
- arrColl.addItem({label:"Circular.easeOut", func:Circular.easeOut});
- arrColl.addItem({label:"Circular.easeInOut", func:Circular.easeInOut});
- /** Cubic */
- arrColl.addItem({label:"Cubic.easeIn", func:Cubic.easeIn});
- arrColl.addItem({label:"Cubic.easeOut", func:Cubic.easeOut});
- arrColl.addItem({label:"Cubic.easeInOut", func:Cubic.easeInOut});
- /** Elastic */
- arrColl.addItem({label:"Elastic.easeIn", func:Elastic.easeIn});
- arrColl.addItem({label:"Elastic.easeOut", func:Elastic.easeOut});
- arrColl.addItem({label:"Elastic.easeInOut", func:Elastic.easeInOut});
- /** Exponential */
- arrColl.addItem({label:"Exponential.easeIn", func:Exponential.easeIn});
- arrColl.addItem({label:"Exponential.easeOut", func:Exponential.easeOut});
- arrColl.addItem({label:"Exponential.easeInOut", func:Exponential.easeInOut});
- /** Linear */
- arrColl.addItem({label:"Linear.easeIn", func:Linear.easeIn});
- arrColl.addItem({label:"Linear.easeOut", func:Linear.easeOut});
- arrColl.addItem({label:"Linear.easeInOut", func:Linear.easeInOut});
- /** Quadratic */
- arrColl.addItem({label:"Quadratic.easeIn", func:Quadratic.easeIn});
- arrColl.addItem({label:"Quadratic.easeOut", func:Quadratic.easeOut});
- arrColl.addItem({label:"Quadratic.easeInOut", func:Quadratic.easeInOut});
- /** Quartic */
- arrColl.addItem({label:"Quartic.easeIn", func:Quartic.easeIn});
- arrColl.addItem({label:"Quartic.easeOut", func:Quartic.easeOut});
- arrColl.addItem({label:"Quartic.easeInOut", func:Quartic.easeInOut});
- /** Quintic */
- arrColl.addItem({label:"Quintic.easeIn", func:Quintic.easeIn});
- arrColl.addItem({label:"Quintic.easeOut", func:Quintic.easeOut});
- arrColl.addItem({label:"Quintic.easeInOut", func:Quintic.easeInOut});
- /** Sine */
- arrColl.addItem({label:"Sine.easeIn", func:Sine.easeIn});
- arrColl.addItem({label:"Sine.easeOut", func:Sine.easeOut});
- arrColl.addItem({label:"Sine.easeInOut", func:Sine.easeInOut});
- }
- ]]>
- </mx:Script>
- <mx:ArrayCollection id="arrColl" />
- <mx:ApplicationControlBar dock="true">
- <mx:Label text="openEasingFunction:" />
- <mx:ComboBox id="openEasingFunc"
- dataProvider="{arrColl}" />
- <mx:Label text="openDuration:" />
- <mx:HSlider id="openDur"
- minimum="100"
- maximum="1500"
- value="1000"
- liveDragging="true"
- snapInterval="100"
- tickInterval="100"
- dataTipPrecision="0" />
- </mx:ApplicationControlBar>
- <mx:Accordion width="400" height="120"
- openDuration="{openDur.value}"
- openEasingFunction="{openEasingFunc.selectedItem.func}">
- <mx:VBox id="child1" label="Child 1" />
- <mx:VBox id="child2" label="Child 2" />
- <mx:VBox id="child3" label="Child 3" />
- </mx:Accordion>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Flex |
No Comments » |
Tags: Accordion, easing, openDuration, openEasingFunction