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

标签 react-native react-native-android

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 组件的方法,但它们的工作原理如示例中所示。我看到他们用过herereact-native-snap-carousel .

关于react-native - 在 React Native ScrollView 中检测滚动结束,对齐页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41793549/

相关文章:

react-native - React Native Dev Menu 未出现

react-native - 如何从 React Native 中解除 View Controller ?

android - 从 0.57.8 升级到 0.59.10 后,使用 'No virtual method isStateSaved()...' 调用 Alert.alert(...) 时,android 崩溃

objective-c - 将 Clevertap 集成到 Reactnative 应用程序时出现构建错误

android - 如何手动将库添加到react-native项目中?

reactjs - AWS Amplify Google 身份验证用户未重定向回

当应用程序在后台运行时, native 深层链接

react-native - KeyboardAvoidingView 适用于 EXPO 但不适用于 APK?

android - 如何从现有的 react-native 项目生成 AndroidManifest.xml?

ios - 在 React Native 中使用原生 ios View