NestedScrollWebView
NestedScrollWebView
为 react-native-webview 提供纵向嵌套滚动支持。
因为社区的 react-native-webview 并没有完全遵循 Android NestedScrolling API,导致在嵌套滚动的场景下,WebView 无法正常滚动。
本库修补了这个缺陷。
Installation
yarn add react-native-webview
yarn add @sdcx/nested-scroll-webview
Usage
因为是补丁,要确保 @sdcx/nested-scroll-webview 在 react-native-webview 之后装配。
-
在 java 代码中,新建一个
Package
类,也可以使用项目现成的。在该类中,实现
ReactPackage
接口,返回RNCNestedScrollWebViewManager
。package com.example.myuidemo; import com.reactnativecommunity.webview.RNCNestedScrollWebViewManager; import java.util.Arrays; public class MyUiPackage implements ReactPackage { @NonNull @Override public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) { return Collections.emptyList(); } @NonNull @Override public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) { return Arrays.asList( new RNCNestedScrollWebViewManager() ); } }
-
在
MainApplication.java
中,将该Package
添加到getPackages()
方法中。@Override protected List<ReactPackage> getPackages() { @SuppressWarnings("UnnecessaryLocalVariable") List<ReactPackage> packages = new PackageList(this).getPackages(); packages.add(new MyUiPackage()); return packages; }