我正在使用flex并且有一些我需要排序的图像。我可以在每张图片下添加一些文字。我正在尝试做的是自动对这些图像进行排序,以便在每个图像和下一个图像之间短暂出现黑色褪色效果 - 确保您之前已经看到过这种情况。
我的问题是:
更新:找到了一个例子。这个例子有更多的元素,但想法是相同的,图像淡出,另一个图像加载。
答案 0 :(得分:0)
您可以尝试使用ViewStack
和Timer
来迭代其子级。只需在它们上添加淡入/淡出效果,您就可以获得所需的内容
这样的事情:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="black" creationComplete="creationCompleteHandler">
<mx:Script>
<![CDATA[
private var timer:Timer;
private function creationCompleteHandler():void
{
timer = new Timer( 2000 );
timer.addEventListener( TimerEvent.TIMER, timerHandler );
timer.start();
}
private function timerHandler( e:TimerEvent ):void
{
if( vs.selectedIndex == vs.getChildren().length - 1 )
vs.selectedIndex = 0;
else
vs.selectedIndex++;
}
]]>
</mx:Script>
<mx:Fade id="fadeIn" alphaFrom="0" alphaTo="1" duration="500" effectEnd="timer.start();"/>
<mx:Fade id="fadeOut" alphaFrom="1" alphaTo="0" duration="500" effectEnd="timer.stop();"/>
<mx:ViewStack id="vs">
<mx:Canvas showEffect="fadeIn" hideEffect="fadeOut">
<mx:Image source="picture1.jpg"/>
</mx:Canvas>
<mx:Canvas showEffect="fadeIn" hideEffect="fadeOut">
<mx:Image source="picture2.jpg"/>
</mx:Canvas>
<mx:Canvas showEffect="fadeIn" hideEffect="fadeOut">
<mx:Image source="picture3.jpg"/>
</mx:Canvas>
</mx:ViewStack>
</mx:Application>
Image
个组件的自定义组件。
alpha
属性
他们到0 Image
组件这样你只有一个Container(而不是每张图片加一个ViewStack)和2个图像 如果需要,还可以更容易地从内存中清除它们。