1

我有一个带有可滚动内容的 WebView (react-native-webview) 屏幕。如果用户在到达 WebView 末尾后继续滚动,我想通过向上滑动动画将用户带到另一个屏幕。使用 WebView 的 onScroll 函数属性,我能够确定用户是否已到达内容末尾。但我无法将用户带到具有动画效果的不同屏幕。

由于 WebView 在 android 和 ios 平台上的行为不同(即使在 ios 上到达内容末尾也可以继续滚动),我不得不使用 PanGestureHandler 来识别用户在到达网页内容末尾后是否正在执行向上滑动操作。但是当我手动尝试将用户导航到不同的屏幕时,我无法创建类似于下面 GIF 中的向上滑动效果。

我在我的应用程序中使用 react-navigation v5。

我已经尝试过使用 react-native-swiper。它在 Android 中不能很好地工作,因为它在内部使用 Scrollable 并且 WebView 在 Scrollable 组件内停止滚动。

我在这里使用自定义 HTML 内容,因此替换 WebView 并不是一个真正的选择。有没有办法利用 Stack Navigator 来创建这样的效果?

向上滑动换屏

谢谢你。

4

0 回答 0