[英]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构建)
谢谢
好的,所以我无法找出如何区分这两个事件,但是似乎有一种解决方法,不是一个好的方法,但是我想它可以工作,但是我发现在列表后面添加事件监听器存在问题滚动到最远点,您将需要执行另一次滚动/滑动操作以使视图过渡,这对用户来说不是一个很好的体验。
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
来获取事件,则可以区分“水平滑动”手势和“水平滚动”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.