【www.gdgbn.com--组件控件开发】

修改组件动画

某些组件在用户的操作过程中,会出现一些很酷的动画效果。比如,使用使用TREE制作下拉菜单,或者合作ComboBox制作下拉菜单时,下拉列表很酷的滑出来。这种效果,主要是借助Tween类或者easing类完成的。
一般的效果分为三类:
A、Open:使用组件打开子部分动画效果时,这类效果支持的组件包括:ComboBox、Accordion、Tree;
B、Popup:使用组件弹出子部分动画效果时,支持组件MenuBar;
C、Selection:当组件里的项目被选中中,出现一些颜色标示动画效果,支持组件:ComboBox、DataGrid、List、Tree;
对组件动画效果的修改也分为三类:全局修改、组件类修改、实例化修改。(随后有详细介绍)
[heart] 关于Open类动画效果,可有两个属性:
一、openDuration:动画持续时间,单位为毫秒,数值越小,动画越快。
二、openEasing:动画效果类,使用mx.transition.easing包里的类,包括Back、Bounce、Elastic、None、Regular、Strong,这些动画效果要配合Tween类,以及淡出淡入函数来实现。
[heart] 修改弹出类动画效果(Popup),只有一个属性:
poputDuration:动画持续时间,与openEasing相同。因为这类效果一般只支持MenuBar组件。所以只有下拉菜单的时候。弹出时间的长短这一属性。大家一定要记住哦。
[heart] 修改选择颜色标示(Selection)类动画效果,可以有以下两个属性:
selectionDuration:动画持续时间,跟openEasing相同;
selectionEasing:动画效果类,与openEasing相同。
例如:修改ComboBox组件下拉列表会修改动画效果,动画效果在1秒内完成:
_global.styles.ComboBox.setStyles("openDuration",1000)
//设置打开类动画效果
_global.styles.ComboBox.setStyles("openEasing",mx.transitions.easing.Elastic.easeOut);
当然,这上面的后面一段,可能有些复杂。对吧。下面就来简化一下:
import mx.transitions.easing.*;
_global.styles.ComboBox.setStyles("openDuration",1000);
_global.sytles.ComboBox.setStyles("openEasing",Elastic.easeOut);
下面,再举一个修改List组件颜色标示动画效果:
import mx.transitions.easing.*;
_global.styles.ScrollSelectList.setStyle("selectionDruation",1000);
_global.styles.ScrollSelectList.setStyle("selectionEasing",Elastic.easeOut)
备注:ComboBox、DataGrid、List、MenuBar里的Menu和Tree组件都是继承ScrooSelectList类,所以,如果要改变颜色标示动画效果。就需要直接修改ScrooSelectList的样式。不过,如果FLA里同时有几个这类的组件。全部都会受到影响的。如果只想修改List组件,就要利用组件类修改的方法。

本文来源:http://www.gdgbn.com/asp/14433/