React Native按钮多点触控

时间:2017-06-25 14:09:27

标签: android react-native

我正在为我的RC车在Android上制作一个“操纵杆”应用程序,我希望能够同时按下两个或更多按钮以实现更精确的控制。

但是,现在我只能按一个按钮,其他按钮在我释放按下按钮之后才会响应。它们甚至不会改变它们的不透明度,所以它在应用程序的逻辑中不是问题。点击处理程序也不执行时间关键操作,因此我认为UI不会被卡住。

这是我按钮的代码:

<R.View>  
  {this.btn(Car.Transmission.Forward, 'Forward')}
</R.View>
<R.View flexDirection="row">
  {this.btn(Car.Transmission.Left, 'Left')}
  {this.btn(Car.Transmission.Stop, 'Stop')}
  {this.btn(Car.Transmission.Right, 'Right')}
</R.View>
<R.View>
  {this.btn(Car.Transmission.Backward, 'Backward')}
</R.View>

btn(transmission, text) {
  return <MyButton 
    onPressIn={() => {
      this.drive(transmission)
    }} 
    onPressOut={() => {
      this.drive(Car.Transmission.Neutral)
    }}
    text={text} />
}

export class MyButton extends React.Component {
  render() {
    var {onPressIn, onPressOut, text, disabled} = this.props
    let textStyle = disabled ? [style.button, style.disabled] : [style.button]

    return (
      <R.TouchableOpacity onPressIn={onPressIn} onPressOut={onPressOut} disabled={disabled}>
        <R.Text style={textStyle} >{text}</R.Text>
      </R.TouchableOpacity>
    )
  }
}

也许我不应该使用TouchableOpacity

编辑:我差不多完成了它,但是......当我在onPanResponderMove回调中收到触摸位置时,我的nativeEvent.locationY值跳得像个疯子一样(161,0 ,163,11,29,...)当我点击屏幕上的同一点时...首先,我认为这是因为USB电缆和充电,但通过Wi-Fi,我得到了相同的结果。真奇怪。有什么想法吗?

0 个答案:

没有答案