是否可以区分Flex Mobile中的水平滑动手势和水平滚动。 我有一个没有附加监听器的List(水平布局),以及一个附有GestureSwipe监听器的视图,当我尝试滚动列表时,滑动手势会被触发。 我试图在列表中添加一个手势事件监听器,并使用event.stopPropagation()调用一个函数,该函数会停止在视图中触发的手势,但由于列表占据了屏幕空间的85%,因此很难让视图事件发生火灾,这会使我想要做的事情失败。
有没有办法告诉两个动作,速度,持续时间或其他什么?
使用FlashDevelop和Flex SDK v4.14.1,Air 17.0,为Android构建
由于
答案 0 :(得分:0)
好的,所以我无法找出如何区分这两个事件,但似乎有一个解决方法,而不是一个好的,但我想它可以工作,但我看到添加事件监听器的问题在列表滚动到最远点之后,您将需要另一个滚动/滑动操作来进行视图转换,而不是用户的良好体验。
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);
}
}
}
有没有人对这种做法有任何想法?
答案 1 :(得分:0)
我从未开发过Flex Mobile,但如果您可以覆盖jQuery hover()
来获取活动,则可以区分水平滑动手势和水平滚动;