react 原生 ScrollView有一个 Prop pagingEnabled .但是,它假设 ScrollView 中每个页面(或子组件)的宽度等于 ScrollView 的宽度。
我们如何修改它以使其在小于 ScrollView 的页面上正常工作?
是否可以检测到用户何时停止滚动? 然后我们可以轻松地编写自己的代码来捕捉到正确的页面。
编辑:还有其他一些方法可以通过使用仅在 iOS 上可用的 Prop 来修复此问题,因此这在 Android 上尤其成问题。
最佳答案
您可以将两种不同的 Prop 设置为 React Native ScrollView它需要一个回调来通知滚动已经结束。 (他们现在都记录在案了。)
onScrollEndDrag function
一旦用户松开 ScrollView(从屏幕上抬起手指)就调用。
工作样本:https://rnplay.org/apps/Ufv6Cg (不再可用)
onMomentumScrollEnd function
当 ScrollView 停止滑动时调用(它通常会在用户从屏幕上抬起手指后继续滑动一点点)。
工作样本:https://rnplay.org/apps/BPgG_g (不再可用)
注意:我在 API 文档中找不到任何 React Native 组件的方法,但它们的工作原理如示例中所示。我看到他们用过here在 react-native-snap-carousel .
关于react-native - 在 React Native ScrollView 中检测滚动结束,对齐页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41793549/