我试图将一些效果应用到TileList;基本上,当我从列表中删除一个元素时,我希望它消失,当我向列表中添加一个元素时,我希望它看起来渐渐消失,很简单没有?好吧不是,TileList组件只有一个效果与itemsChangeEffect
一起玩,不明白为什么没有" itemsAddEffect"或" itemsRemoveEffect"。所以我基本上创建了一个序列,使用过滤器将一个淡入淡出应用于要添加的项目,将另一个淡入淡出应用于要删除的项目。这是我的序列:
<mx:Sequence id="dataChangeEffectSequence" effectStart="trace1(event)" effectEnd="trace2(event)">
<mx:Fade duration="300" alphaFrom="1.0" alphaTo="0.0" perElementOffset="150" filter="removeItem"/>
<mx:Fade duration="300" alphaFrom="0.0" alphaTo="1.0" filter="addItem"/>
</mx:Sequence>
这是我的TileList:
<mx:TileList id="list" dataProvider="{arrPro}" itemRenderer="compIdea.view.Thumb" width="100%" height="100%"
itemClick="product_selected(event)" dragEnabled="true" dragComplete="updateCart()"
itemsChangeEffect="{dataChangeEffectSequence}"/>
问题是我应用于添加项目的淡入淡出不起作用,并且这些项目被添加到tileList invisble(淡出)。这没有任何意义,淡入淡出没有做任何事情,我至少让这些物品出现在瓷砖列表中的唯一方法(未淡出)是通过这样做(不明白为什么这样做) :
<mx:Fade duration="300" alphaFrom="1.0" alphaTo="0.0" perElementOffset="150" filter="removeItem"/>
<mx:Parallel>
<mx:RemoveItemAction filter="removeItem"/>
<mx:AddItemAction startDelay="200" filter="addItem"/>
<mx:Fade duration="300" alphaFrom="0.0" alphaTo="1.0" filter="addItem"/>
</mx:Parallel>
</mx:Sequence>
有人可以帮帮我吗?我也试过从动作脚本中做到这一点,但它给了我空指针和应用程序死...