[英]React Native PanResponder not working on Android device
[英]React Native Android WebView's PanResponder not working
我在标签导航器的屏幕之一内有一个webview。 Web视图中有一些元素,用户可以水平滑动以显示更多信息。 我的问题是,每当用户尝试在Web视图内水平滑动时,选项卡导航器就会改为检测到滑动,这会导致选项卡更改。 这仅在Android设备上发生,而在iOS设备上不发生。
为了解决此问题,我试图在Webview内设置PanResponder,但是它不起作用。 甚至没有调用相关方法,因为当我在Webview上拖动手指时未打印控制台日志。 以下是我的网络视图代码:
import React, { Component } from 'react';
import { WebView, View, PanResponder} from 'react-native';
class CustomWebPage extends Component {
componentWillMount() {
this.gesture = PanResponder.create({
onPanResponderTerminationRequest: () => false,
onStartShouldSetPanResponder: (evt, gestureState) => true,
onStartShouldSetPanResponderCapture: (evt, gestureState) => true,
onMoveShouldSetPanResponder: (evt, gestureState) => true,
onMoveShouldSetPanResponderCapture: (evt, gestureState) => true,
onPanResponderGrant: (evt, gestureState) => {
console.log('onPanResponderGrant');
},
onPanResponderMove: (evt, gestureState) => {
console.log('onPanResponderMove: ', evt, ', ', gestureState);
},
onPanResponderTerminate: (evt, gestureState) => {
console.log('onPanResponderTerminate: ', evt, ', ', gestureState);
},
onPanResponderRelease: (evt, gestureState) => {
console.log('onPanResponderRelease: ', evt, ', ', gestureState);
},
});
}
render() {
return (
<WebView
source={{ uri: 'https://www.google.com.sg/' }}
style={{ flex: 1 }}
{...this.gesture.panHandlers}
/>
);
}
}
export default CustomWebPage;
用Constructor()替换componentWillMount()
所以在这里,
constructor(props) {
super(props) {
// Here your PanResponder related codes
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.