0.4.0 • Published 6 months ago
@sdcx/nested-scroll-webview v0.4.0
NestedScrollWebView
NestedScrollWebView 为 react-native-webview 提供纵向嵌套滚动支持。
因为社区的 react-native-webview 并没有完全遵循 Android NestedScrolling API,导致在嵌套滚动的场景下,WebView 无法正常滚动。
本库修补了这个缺陷。
版本兼容
| @sdcx/nested-scroll-webview | react-native-webview | 架构 |
|---|---|---|
| 0.3 | 11 | 旧 |
| 0.4 | 13 | 旧 |
Installation
yarn add react-native-webview
yarn add @sdcx/nested-scroll-webviewUsage
因为是补丁,要确保 @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; }