Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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/3/sockets/2.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本机PanResponder在Android设备上不工作_Javascript_Android_React Native_Device - Fatal编程技术网

Javascript React本机PanResponder在Android设备上不工作

Javascript React本机PanResponder在Android设备上不工作,javascript,android,react-native,device,Javascript,Android,React Native,Device,由于某些原因,我无法在我的Android设备上创建PanResponder。我使用的是摩托罗拉Moto E(第二代)和安卓5.0.2 我能够在Android模拟器(Nexus6:Android5.1和NexusS:Android4.4)以及iOS模拟器和设备上完成这项工作 知道为什么PanResponder不能在设备上工作吗 这里有一些代码以备不时之需。任何console.log都不能在设备上工作: componentWillMount() { this.panResponder = t

由于某些原因,我无法在我的Android设备上创建PanResponder。我使用的是摩托罗拉Moto E(第二代)和安卓5.0.2

我能够在Android模拟器(Nexus6:Android5.1和NexusS:Android4.4)以及iOS模拟器和设备上完成这项工作

知道为什么
PanResponder
不能在设备上工作吗

这里有一些代码以备不时之需。任何
console.log
都不能在设备上工作:

componentWillMount() {
    this.panResponder = this.getPanResponder();
}

getPanResponder() {
    return PanResponder.create({
        onStartShouldSetPanResponder: () => {
            console.log('start');
            return true;
        },
        onStartShouldSetPanResponderCapture: () => {
            console.log('start capture');
            return true;
        },
        onMoveShouldSetPanResponder: () => {
            console.log('move');
            return true;
        },
        onMoveShouldSetPanResponderCapture: () => {
            console.log('move capture');
            return true;
        },
        onPanResponderMove: () => {
            console.log('moving');
        }
     })
}

render() {
    return (
        <View
            style={styles.container}
            {...this.panResponder.panHandlers}
        >
        </View>
    )
}
componentWillMount(){
this.panResponder=this.getPanResponder();
}
getPanResponder(){
返回PanResponder.create({
onStartShouldSetPanResponder:()=>{
console.log('start');
返回true;
},
onStartShouldSetPanResponderCapture:()=>{
log('start capture');
返回true;
},
onMoveShouldSetPanResponder:()=>{
console.log('move');
返回true;
},
onMoveShouldSetPanResponderCapture:()=>{
console.log('move-capture');
返回true;
},
onPanResponderMove:()=>{
console.log('moving');
}
})
}
render(){
返回(
)
}

谢谢

我也遇到了同样的问题,在我的例子中,解决问题的方法是使用pan响应程序处理程序为视图设置背景色。如果你不能使它色彩鲜艳(我不能),只需将背景色设置为不可见的颜色,比如
rgba(255255,0.01)


android似乎忽略了透明视图上的泛应答器处理程序

似乎,onResponder。。。回调仅在授予作为响应者的当前视图后有效,即您应该从其中一个回调返回true(取决于手势类型和事件阶段):onStartShouldSetResponder、onStartShouldSetResponderCapture、onMoveShouldSetResponderCapture、onMoveShouldSetResponderCapture。在我看来,这是一个非常正确的行为。

你已经解决了你的问题吗?我也有同样的问题不,我没有找到解决办法。react-native充满了错误的建议。PanResponder不会使用透明视图触发!这个答案对我有用,你有官方文件的链接吗?酷。。它起作用了!我也在寻找你学到的链接。哇,你真是个救命恩人!这就解决了。你救了我的命D