React Native Webview:如何为Android启用“滑动导航”手势?

问题描述

我正在使用react-native-webview为我已经开发的Web应用程序创建WebView界面。我正在尝试为Web应用程序启用“滑动导航”手势以在屏幕之间切换,并且它提供了内置方法Agent,适用于iOS。但是,对于Android,它没有这种方法。

启用“滑动浏览”手势进行Webview的方式是什么?有图书馆这样做吗?如果是这样,那会是什么?如果没有,那么解决方法是什么?

下面是我编写的简单代码。

allowsBackForwardNavigationGestures

谢谢!

解决方法

const webView = useRef(null)
const [canGoBack,setCanGoBack] = useState(false)

useEffect(() => {
    if (Platform.OS === 'android') {
        console.log(webView)
        BackHandler.addEventListener('hardwareBackPress',HandleBackPressed)

        return () => {
            BackHandler.removeEventListener('hardwareBackPress',HandleBackPressed)
        }
    }
},[]) // INITIALIZE ONLY ONCE

const HandleBackPressed = () => {
    if (webView.current) {
        webView.current.goBack()
        return true
    }
    return false
}

return (
    <WebView
        ref={webView}
        style={{
            width: '100%',height: '100%',}}
        source={{ uri:"example.com" }}
    />
)

并从 react-native 导入必要的项目

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...