React-native-gesture-handler: PanGestureHandler仅用于垂直移动

创建于 2018-12-18  ·  4评论  ·  资料来源: software-mansion/react-native-gesture-handler

确实,这更多是一个问题。

我尝试了所有可能想到的组合,但是当我只希望它在垂直运动中变为活动状态时,手势事件仍会触发水平运动。

有指针吗?

源代码可在此处https://github.com/mattermost/mattermost-mobile/blob/master/app/components/slide_up_panel/slide_up_panel.js

Question

最有用的评论

如果只需要一个方向,则ScrollView组件可能就足够了(您可以从手势处理程序中获取一个版本,该版本包装为支持BaseGestureHandler。
否则,如果您只听translationY,则只有在有意义的情况下,它才适用于垂直移动。
您还可以使用activeOffsetY属性。 例如, activeOffsetY={[-10, 10]}仅在垂直向上或向下滑动到10个像素时才会激活手势处理程序。

我希望这有帮助。

所有4条评论

如果只需要一个方向,则ScrollView组件可能就足够了(您可以从手势处理程序中获取一个版本,该版本包装为支持BaseGestureHandler。
否则,如果您只听translationY,则只有在有意义的情况下,它才适用于垂直移动。
您还可以使用activeOffsetY属性。 例如, activeOffsetY={[-10, 10]}仅在垂直向上或向下滑动到10个像素时才会激活手势处理程序。

我希望这有帮助。

@wcandillon如何仅将元素向下移动? 并且减去原始位置或相等。

@ userbq201我这样做只是为了处理向下滑动手势。 在PanGestureHandler的onHandlerStateChange中,我检查了nativeEvent.velocityY> 0是否表示向下滑动。

似乎有待解决。

此页面是否有帮助?
0 / 5 - 0 等级