图像控件在视图中滑动源更改(flex移动应用程序)

时间:2012-06-01 04:50:14

标签: flex mobile air

我有一个简单的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}"

但它毫无用处...... 任何想法,请帮助..

1 个答案:

答案 0 :(得分:0)

你很亲密。更改Image的来源时,不会生成显示/隐藏事件。而是在用户进行滑动手势时手动触发这些效果。

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

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