区分 Flex 移动应用程序中的滚动和滑动

Differentiate between scroll and swipe in Flex Mobile Application

是否可以在 Flex Mobile 中区分水平轻扫手势和水平滚动。 我有一个没有附加侦听器的列表(水平布局)和一个附加了 GestureSwipe 侦听器的视图,当我尝试滚动列表时,滑动手势会被触发,显然。 我试图向列表中添加一个手势事件侦听器并使用 event.stopPropagation() 调用一个函数,该函数确实会停止在视图中触发手势,但是由于列表占据了屏幕空间的 85%使得触发视图事件变得非常困难,这破坏了我想要做的事情。

有没有办法区分这两个动作,速度、持续时间或其他?

使用 FlashDevelop 和 Flex SDK v4.14.1,Air 17.0,为 Android

构建

谢谢

好的,所以我不知道如何区分这两个事件,但是似乎有一个解决方法,不是一个好方法,但我想它可以工作,但是我发现添加列表滚动到最远点后的事件侦听器,您将需要另一个 scroll/swipe 操作来进行视图转换,这对用户来说不是一个好的体验。

list.scroller.viewport.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE,propertyChangeHandler );

protected function propertyChangeHandler(event:PropertyChangeEvent):void
{
    if (event.property == "horizontalScrollPosition" )
    {
        if (event.newValue == (event.currentTarget.measuredWidth - event.currentTarget.width )) {
                navigator.pushView(view.RightView);
        }
        if(event.newValue == 0){
                navigator.pushView(view.LeftView);
        }
    }
}

有人对这种方法有什么想法吗?

我从未开发过 Flex Mobile,但如果您可以覆盖 interceptOnTouchEvent 以获取事件,则可以区分水平轻扫手势和水平滚动;