自定义组件动画

某些组件(如 Accordion、ComboBox 和 Tree 组件)提供动画来演示组件状态之间的过渡(例如,在 Accordion 子项之间切换、扩展组合框下拉列表和扩展或折叠树形文件夹时)。另外,组件提供与项目(如列表中的行)的选择和取消选择有关的动画。

可以通过以下样式来控制这些动画的各个方面:

动画样式

描述

openDuration

在 Accordion、ComboBox 和 Tree 组件中打开缓动的过渡时间(以毫秒为单位)。默认值为 250。

openEasing

对控制 Accordion、ComboBox 和 Tree 组件中的状态动画的补间函数的引用。默认等式使用正弦输入/输出公式。

popupDuration

当打开 Menu 组件中的菜单时,过渡的持续时间(以毫秒为单位)。默认值为 150。但是请注意,动画总是使用默认的正弦输入/输出等式。

selectionDuration

在 ComboBox、DataGrid、List 和 Tree 组件从正常状态到所选状态或从所选状态回到正常状态的过渡的持续时间(以毫秒为单位)。默认值为 200。

selectionEasing

对控制 ComboBox、DataGrid、List 和 Tree 组件中的所选动画的补间函数的引用。此样式仅适用于从正常状态到所选状态的过渡。默认等式使用正弦输入/输出公式。

mx.transitions.easing 包提供了六个类来控制缓动:

缓动类

描述

Back

一次在一端或两端扩展到过渡范围之外以提供轻微的溢出效果。

Bounce

完全在过渡范围的一端或两端内提供弹跳效果。弹跳数与持续时间相关:持续时间越长,弹跳数越多。

Elastic

提供一端或两端超出过渡范围的弹性效果。弹性量不受持续时间影响。

None

提供从开始到结尾的无任何减速或加速效果的相同的运动。该过渡通常也称为线性过渡

Regular

在加速效果、减速效果或这两种效果的一端或两端提供更慢的运动。

Strong

在一端或两端提供很慢的运动。此效果类似于 Regular,但更为显著。

mx.transitions.easing 包中的每个类都提供以下三个缓动方法:

缓动方法

描述

easeIn

在过渡的开始提供缓动效果。

easeOut

在过渡的结尾提供缓动效果。

easeInOut

在过渡的开始和结尾提供缓动效果。

以下动画演示不同的缓动类和缓动方法。在使用单选按钮选择类、方法和持续时间时,球随您的设置从左边跳到右边。您也可以单击"动画"按钮来使球使用当前的选择重新动起来。

因为缓动方法是缓动类的静态方法,所以您根本不必实例化缓动类。在对 setStyle() 的调用中使用这些方法,如以下示例所示。

import mx.transitions.easing.*;
trace("_global.styles.Accordion = " + _global.styles.Accordion);
_global.styles.Accordion.setStyle("openDuration", 1500);
_global.styles.Accordion.setStyle("openEasing", Bounce.easeOut);

注意

 

所有过渡都使用的默认等式在上面列出的缓动类中不可用。要在指定了其它缓动方法后指定组件应使用默认的缓动方法,请调用 setStyle("openEasing", null)

posted @ 2009-11-11 09:43 jlike521 阅读(46) 评论(0)  编辑
摘要: 一个数据模型就是一个ActionScript对象,这个对象的属性用来存储应用程序之地你的数据。在向服务器发送数据之前,或者从服务器接收数据但还没有使用之前,数据模型提供一个在Flex应用程序中存储数据的途径。Adobe Flex应用程序与服务器之间的通信只发生在Flex应用程序需要检索的数据尚未可用,和使用Flex应用程序中的新数据更新服务器端 的数据源。你使用模型不是一定需要连接到服务器。例如,... 阅读全文
posted @ 2009-11-10 13:37 jlike521 阅读(1024) 评论(0)  编辑
1。 复制内容到系统剪贴板
  1. System.setClipboard(strContent);
2。 复制一个ArrayCollection
  1. //dummy solution( well, it works )
  2. var bar:ArrayCollection = new ArrayCollection();
  3. for each ( var i:Object in ac ){
  4.    bar.addItem( i );
  5. }
  6. // fantastic ! //
  7. var bar:ListCollectionView = new ListCollectionView( ListCollectionView( ac ).list );
3。 打开一个新浏览器窗口
  1. navigateToURL(new URLRequest('http://ntt.cc'), '_blank');
4。 刷新浏览器
  1. navigateToURL(new URLRequest("javascript:location.reload();"),"_self")
5。 关闭浏览器
  1. navigateToURL(new URLRequest("javascript:window.close()"),"_self");
6。 设置Alert 窗口的背景为透明
  1. Alert
  2. {
  3. modalTransparency:0.0; 
  4. modalTransparencyBlur:0;
  5. }
7。 取随机颜色
  1. lbl.setStyle('color', 0xffffff*Math.random());
8。 清除子串左侧空格
  1. public function LTrim(s : String):String
  2. {
  3.    var i : Number = 0;
  4.    while(s.charCodeAt(i) == 32 || s.charCodeAt(i) == 13 || s.charCodeAt(i) == 10 || s.charCodeAt(i) == 9)
  5.    {
  6.        i++;
  7.    }
  8.    return s.substring(i,s.length);
  9. }
9。 清除字串右侧空格
  1. public function RTrim(s : String):String
  2. {
  3.    var i : Number = s.length - 1;
  4.    while(s.charCodeAt(i) == 32 || s.charCodeAt(i) == 13 || s.charCodeAt(i) == 10 ||s.charCodeAt(i) == 9)
  5.    {
  6.        i--;
  7.    }
  8.    return s.substring(0,i+1);
  9. }
10。 清除字串左右的空格
  1. public function Trim(s : String):String
  2. {
  3.    return LTrim(RTrim(s));
  4. }
11。 获取 数据类型
  1. getQualifiedClassName(data)
12。 生成随机字符串。
  1. private function GenerateCheckCode():String
  2. {
  3.    //init
  4.    var ran:Number;
  5.    var number:Number;
  6.    var   code:String;
  7.    var checkCode:String ="";
  8.    //get 4 radom
  9.    for(var i:int=0; i<4; i++)
  10.    {
  11.       ran=Math.random();
  12.       number =Math.round(ran*10000);          //get result like 0.1234
  13.       if(number % 2 == 0)
  14.          code = String.fromCharCode(48+(number % 10));        //0's ASCII code is 48
  15.       else
  16.          code = String.fromCharCode(65+(number % 26)) ;        // A's ASCII code is 65
  17.       checkCode += code;
  18.    }
  19.    return checkCode;
  20.    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值