Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React Native Webview:如何启用';滑动以导航';Android的手势?_Javascript_Android_Reactjs_React Native_React Native Webview - Fatal编程技术网

Javascript React Native Webview:如何启用';滑动以导航';Android的手势?

Javascript React Native Webview:如何启用';滑动以导航';Android的手势?,javascript,android,reactjs,react-native,react-native-webview,Javascript,Android,Reactjs,React Native,React Native Webview,我正在使用为我已经开发的web应用程序创建webview界面。我正在尝试为web应用程序启用“滑动导航”手势在屏幕之间转换,它提供了一个内置方法,允许向后导航手势,用于iOS。然而,对于Android来说,它没有这样的方法 为webview启用“滑动导航”手势的方法是什么?有图书馆可以这样做吗?如果是,会是什么?如果没有,解决办法是什么 下面是我编写的简单代码 import React, {useEffect} from 'react'; import { WebView } from 'rea

我正在使用为我已经开发的web应用程序创建webview界面。我正在尝试为web应用程序启用“滑动导航”手势在屏幕之间转换,它提供了一个内置方法,
允许向后导航手势
,用于iOS。然而,对于Android来说,它没有这样的方法

为webview启用“滑动导航”手势的方法是什么?有图书馆可以这样做吗?如果是,会是什么?如果没有,解决办法是什么

下面是我编写的简单代码

import React, {useEffect} from 'react';
import { WebView } from 'react-native-webview';

export default function App() {
  return (
    <WebView source = {{uri:/* url to my website */}} 
       style = {{ marginTop : 50 }} 
       allowsBackForwardNavigationGestures = {true}
    />
  );
}
import React,{useffect}来自“React”;
从“react native WebView”导入{WebView};
导出默认函数App(){
返回(
);
}
谢谢

const webView=useRef(空)
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" }}
    />
)
const[canGoBack,setCanGoBack]=useState(false) useffect(()=>{ 如果(Platform.OS==='android'){ console.log(webView) BackHandler.addEventListener('hardwareBackPress',HandleBackPress) return()=>{ BackHandler.removeEventListener('hardwareBackPress',HandleBackPress) } } },[])//仅初始化一次 const HandleBackPressed=()=>{ if(webView.current){ webView.current.goBack() 返回真值 } 返回错误 } 返回( )
并从react native导入必要的项目