code02

[react-native雜記04]使用手勢需要注意在 iOS 與 Android 會有相容性問題

跟手勢相關的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>
標籤: , ,

很愛畫虎爛的我,開始了用文章唬爛社會大眾的志業!