跟手勢相關的code 盡量加在需要的地方就好
例如我需要 WebView 可以在上滑的時候,觸發事件。
原本我是這樣加
<View style={{flex: 1}}
onStartShouldSetResponder={this.onStartShouldSetResponder}
onMoveShouldSetResponder={this.onMoveShouldSetResponder}
onResponderStart={this.onResponderStart}
onResponderMove={this.onResponderMove}
onResponderRelease={this.onResponderRelease}>
<WebView />
<TouchableOpacity />
</View>
這樣造成的結果就是 TouchableOpacity 在部分 Android的機器會出現問題。我試了三台機器,老舊的紅米1s、Samsung note2都是正常的。唯獨在Sony xperia z1 會有問題。
所以應該改成
<View style={{flex: 1}}>
<View onStartShouldSetResponder={this.onStartShouldSetResponder}
onMoveShouldSetResponder={this.onMoveShouldSetResponder}
onResponderStart={this.onResponderStart}
onResponderMove={this.onResponderMove}
onResponderRelease={this.onResponderRelease}
>
<WebView />
</View>
<TouchableOpacity />
</View>