mx.effects
public class DefaultListEffect
继承DefaultListEffect Inheritance Parallel Inheritance CompositeEffect Inheritance Effect Inheritance EventDispatcher Inheritance Object

DefaultListEffect 类可定义当数据提供程序中的数据发生更改时应用于 List 控件的项目渲染器的默认效果。如果 List 控件中删除了某个项目,则此效果将首先淡出该项目,然后将该项目的大小折叠为 0。如果 List 控件中添加了某个项目,此效果将首先展开该项目的槽,然后淡入此新项目。

您可以使用 itemsChangeEffect 样式属性将此效果应用到 List 控件。itemsChangeEffect 样式属性的默认值为 undefined,这意味着它不会使用任何效果。

因为 DefaultListEffect 效果在播放时会增大和收缩项目渲染器,所以您必须将 List.variableRowHeight 属性设置为 true,以便 List 控件动态更改其行高。

MXML 语法expanded隐藏 MXML 语法

The <mx:DefaultListEffect> tag inherits all the members of its parent and adds the following members:

   <DefaultListEffect
     Properties
     color="0xFFFFFF"
     fadeInDuration="300"
     fadeOutDuration="300"
     growDuration="300"
     removedElementOffset="100"
     shrinkDuration="300"
   />
 

查看示例

另请参见

mx.controls.List


公共属性
 属性定义方
 InheritedclassName : String
[只读 (read-only)] 效果类的名称,如“Fade”。
Effect
  color : Number
表示淡入或淡出已添加项目和已删除项目时所用颜色的十六进制值。
DefaultListEffect
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  fadeInDuration : Number
对已添加和已删除项目的渲染器应用淡入效果的时间(以毫秒为单位)。
DefaultListEffect
  fadeOutDuration : Number
对已添加和已删除项目的渲染器应用淡出效果的时间(以毫秒为单位)。
DefaultListEffect
  growDuration : Number
应用于已添加和已删除项目的渲染器的时间(以毫秒为单位)。
DefaultListEffect
 InheritedhideFocusRing : Boolean
确定在开始播放效果时,效果是否应隐藏对焦环。
Effect
 InheritedinstanceClass : Class
一个 Class 类型的对象,用于指定此效果类的效果实例类。
Effect
 InheritedisPlaying : Boolean
[只读 (read-only)] 一个只读标志,如果当前正在播放效果的任一实例,则为 true;否则,则为 false。
Effect
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
 InheritedrelevantProperties : Array
一个属性名称 Array,执行过滤时将使用这些名称。
Effect
 InheritedrelevantStyles : Array
一个样式名称 Array,执行过滤时将使用这些名称。
Effect
  removedElementOffset : Number
同时删除的多个项目的渲染器所应用效果之间的偏移量(以毫秒为单位)。
DefaultListEffect
  shrinkDuration : Number
应用于已添加和已删除项目的渲染器的时间(以毫秒为单位)。
DefaultListEffect
 InheritedstartDelay : int = 0
开始播放效果前需要等待的时间(以毫秒为单位)。
Effect
 InheritedsuspendBackgroundProcessing : Boolean = false
如果为 true,则在播放效果时阻止所有背景处理。
Effect
 InheritedtriggerEvent : Event
如果触发了某个效果,则此项目是由 EffectManager 传递给此 Effect 的 Event 对象;如果 EffectManager 当前没有播放此效果,则为 null。
Effect
受保护的属性
 属性定义方
 InheritedendValuesCaptured : Boolean = false
一个标志,如果已确定效果的结束值,则该标志中包含 true;如果需要在效果运行时从效果目标的当前属性捕获这些值,则其中包含 false。
Effect
公共方法
 方法定义方
 Inherited
addChild(childEffect:IEffect):void
将新的子效果添加到此复合效果。
CompositeEffect
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
捕获效果目标上相关属性的当前值,并将这些值另存为结束值。
Effect
 Inherited
捕获另一组目标相关属性的当前值。在运行数据更改效果时,此函数由 Flex 使用。
Effect
 Inherited
捕获效果目标上相关属性的当前值。
Effect
 Inherited
创建一个效果实例并对其进行初始化。
Effect
 Inherited
createInstances(targets:Array = null):Array
获取一个目标对象 Array,并对每个目标调用 createInstance() 方法。
Effect
 Inherited
删除实例中的事件侦听器,然后从实例列表中删除该实例。
Effect
 Inherited
将事件调度到事件流中。
EventDispatcher
 Inherited
end(effectInstance:IEffectInstance = null):void
中断当前正在播放的效果,立即跳转到该效果的末尾。
Effect
 Inherited
返回一个字符串 Array,其中每个 String 都是被此效果更改的属性名称。
Effect
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
暂停效果,直到调用 resume() 方法。
Effect
 Inherited
play(targets:Array = null, playReversedFromEnd:Boolean = false):Array
开始播放效果。
Effect
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
在效果由 pause() 方法暂停后继续播放效果。
Effect
 Inherited
逆序播放效果;如果当前正在播放效果,则从该效果的当前位置开始逆序播放。
Effect
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
停止播放效果,使效果目标保持当前状态。
Effect
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
受保护的方法
 方法定义方
 Inherited
applyValueToTarget(target:Object, property:String, value:*, props:Object):void
供 Effect 基础结构内部使用。
Effect
 Inherited
当效果实例完成播放时调用。
Effect
 Inherited
当效果实例开始播放时调用此方法。
Effect
 Inherited
filterInstance(propChanges:Array, target:Object):Boolean
确定筛选效果实例所用的逻辑。
Effect
 Inherited
getValueFromTarget(target:Object, property:String):*
由 captureStartValues() 方法调用,用来从目标获得某个属性的值。
Effect
 Inherited
将效果的属性复制到效果实例。
Effect
事件
 事件 摘要 定义方
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
 Inherited[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。EventDispatcher
 Inherited当效果完成播放时(既可以是效果实际完成播放时,也可以是通过调用 end() 方法中断效果时)调度。Effect
 Inherited当效果开始播放时调度。Effect
属性详细信息
color属性
color:Number  [读写]

表示淡入或淡出已添加项目和已删除项目时所用颜色的十六进制值。

默认值为 0xFFFFFF.



实现
    public function get color():Number
    public function set color(value:Number):void
fadeInDuration属性 
fadeInDuration:Number  [读写]

对已添加和已删除项目的渲染器应用淡入效果的时间(以毫秒为单位)。

默认值为 300.



实现
    public function get fadeInDuration():Number
    public function set fadeInDuration(value:Number):void
fadeOutDuration属性 
fadeOutDuration:Number  [读写]

对已添加和已删除项目的渲染器应用淡出效果的时间(以毫秒为单位)。

默认值为 300.



实现
    public function get fadeOutDuration():Number
    public function set fadeOutDuration(value:Number):void
growDuration属性 
growDuration:Number  [读写]

应用于已添加和已删除项目的渲染器的时间(以毫秒为单位)。

默认值为 300.



实现
    public function get growDuration():Number
    public function set growDuration(value:Number):void
removedElementOffset属性 
removedElementOffset:Number  [读写]

同时删除的多个项目的渲染器所应用效果之间的偏移量(以毫秒为单位)。如果为 0,则所有渲染器都将同时淡化和收缩。

默认值为 100.



实现
    public function get removedElementOffset():Number
    public function set removedElementOffset(value:Number):void
shrinkDuration属性 
shrinkDuration:Number  [读写]

应用于已添加和已删除项目的渲染器的时间(以毫秒为单位)。

默认值为 300.



实现
    public function get shrinkDuration():Number
    public function set shrinkDuration(value:Number):void
示例 如何使用示例
DefaultListEffectExample.mxml
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

    <mx:Script>
        <![CDATA[
            import mx.effects.DefaultListEffect;
            import mx.collections.ArrayCollection;
            
            [Bindable]
            private var myDP:ArrayCollection = new ArrayCollection(
                ['A','B','C','D','E','F','G','H']);
            
            private function deleteItem():void {
                // As each item is removed, the index of the other items changes.
                // So first get the items to delete, then determine their indices
                // as you remove them.
                var toRemove:Array = [];
                for (var i:int = 0; i < list0.selectedItems.length; i++)
                    toRemove.push(list0.selectedItems[i]);
                for (i = 0; i < toRemove.length; i++)
                    myDP.removeItemAt(myDP.getItemIndex(toRemove[i]));
            }

            private var zcount:int = 0;
            private function addItem():void {
                // Always add the new item after the third item,
                // or after the last item if the length is less than 3.
                myDP.addItemAt("Z"+zcount++,Math.min(3,myDP.length));
            }            
        ]]>
    </mx:Script>

    <!-- Define an instance of the DefaultListEffect effect, 
         and set its fadeOutDuration and color properties. -->
    <mx:DefaultListEffect id="myDLE" 
        fadeOutDuration="1000" 
        color="0x0000ff"/>

    <mx:Panel title="DefaultListEffect Example" width="75%" height="75%" 
        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">

        <mx:List id="list0" 
            width="150"
            dataProvider="{myDP}" 
            variableRowHeight="true" 
            fontSize="18" 
            allowMultipleSelection="true" 
            itemsChangeEffect="{myDLE}"/>
    
        <mx:Button 
            label="Delete item" 
            click="deleteItem();"/>
        <mx:Button 
            label="Add item" 
            click="addItem();"/>

    </mx:Panel> 
</mx:Application>