Javascript React Native Webview:如何启用';滑动以导航';Android的手势?
我正在使用为我已经开发的web应用程序创建webview界面。我正在尝试为web应用程序启用“滑动导航”手势在屏幕之间转换,它提供了一个内置方法,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
允许向后导航手势
,用于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导入必要的项目