0

我有一个简单的 xml 库( ViewNavigatorApplication ),第一个视图是拇指,第二个视图名为“SlideView”。所有视图的变化都很好地使用 SlideTransition 从“导航内容区域按钮”相互转换 SlideView 有一个图像控件,一次显示每个图像。在幻灯片视图中,我检测到滑动手势并更改图像控件的源属性并弹出新图像。问题是,当源属性(绑定到当前幻灯片)时,我希望每次都滑动新图像。有任何想法吗?

当前的幻灯片视图基本代码就像

protected function swipeGestureHandler(event:TransformGestureEvent):void
            {
                if (event.offsetX == -1) {
                    _dm.currItem.nextSlide();
                }
                else if (event.offsetX == 1 ) {
                    _dm.currItem.prevSlide();
                }
            }
<s:layout>
    <s:VerticalLayout/>
</s:layout>
<s:Image id="slideImage" visible="true" width="100%" height="85%" 
             source="{_dm.currItem.currSlide}" />

我尝试在 fx 声明区域中定义一些效果,例如

<fx:Declarations>

        <s:Wipe id="wipeOut" direction="left" duration="500" />
        <s:Wipe id="wipeIn" direction="right" duration="500" />


        <s:Move id="MoveLeft" target="{slideImage}" xBy="300" duration="500"/>
        <s:Move id="MoveRight" target="{slideImage}" xBy="-300" duration="500"/>
    </fx:Declarations>

并在图像控制中使用它们

hideEffect="{MoveLeft}" showEffect="{MoveRight}"

但它没有用......任何想法,请帮助..

4

1 回答 1

0

你很亲密。更改源时不会生成显示/隐藏事件Image。相反,当用户做出滑动手势时,自己手动触发这些效果。

  • 滑动手势:(MoveLeft.play()假设target效果是图像)
  • 现在图像不在屏幕上,设置图像的新来源
  • MoveRight.play()

为了完善这种效果,您可能希望Image在您的视图中有两个对象。过渡到下一个图像时,您可以Image在播放任何效果之前将另一个对象的源设置为新值(尝试并预加载图像)。

于 2012-06-01T07:06:58.470 回答