当前位置:  开发笔记 > 编程语言 > 正文

在React Native ScrollView中检测滚动结束,对齐页面

如何解决《在ReactNativeScrollView中检测滚动结束,对齐页面》经验,为你挑选了1个好方法。

React Native ScrollView有一个prop pagingEnabled.但是,它假定ScrollView中每个页面(或子组件)的宽度等于ScrollView的宽度.

我们如何修复它以使其适用于小于ScrollView的页面?

是否可以检测用户何时停止滚动?然后我们可以轻松编写自己的代码以捕捉到正确的页面.

编辑:还有一些其他方法可以通过使用仅在iOS上提供的道具来修复此问题,因此这在Android上尤其成问题.



1> ArneHugo..:

你可以设置两个不同的道具React Native ScrollView,它采用回调来通知滚动已经结束.(他们现在都有记录.)


onScrollEndDrag函数

用户放开ScrollView后立即调用(从屏幕上抬起手指).

工作样本:https://rnplay.org/apps/Ufv6Cg(不再可用)


onMomentumScrollEnd函数

当ScrollView停止滑动时调用(在用户将手指从屏幕上抬起后,它通常会继续滑动一点).

工作样本:https://rnplay.org/apps/BPgG_g(不再提供)


注意:我在API文档中找不到任何React Native组件的方法,但它们的工作方式如示例所示.我看见他们用在这里的反应,本机扣轮播.


奇怪的是,onScrollEndDrag不再列在反应原生API上,但仍然有效.
还想添加`onScrollBeginDrag`是另一个在拖动开始时触发的问题https://github.com/facebook/react-native/blob/62b20ce582383dd36c07b5d541cde6a7d13cabc6/React/Views/RCTScrollView.h#L54
现在记录了'onMomentumScrollEnd`; 我已经打开PR来记录`onScrollEndDrag`和`onScrollBeginDrag`,网址是https://github.com/facebook/react-native/pull/17368和https://github.com/facebook/react-native-website/pull/99.
推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有