如何检测用户触摸 React Native 中的元素?

How do I detect the users touch on an element in react native?

我知道在 React Native 中我们有: - OnPress(检测按下并释放) - OnPressIn(检测用户从不触摸到触摸按钮) -OnPressOut(检测用户释放按钮,或将手指移到别处)

但我想检测用户何时已经在其他地方触摸屏幕,然后将手指拖到按钮上。

您可以使用 PanResponder API 来 fine-grained 控制触摸和手势。创建 PanHandlers 并将它们附加到要检测触摸的 View

对于检测拖动的用例,您可以使用 onPanResponderMove

onPanResponderMove: (evt, gestureState) => {
    // The most recent move distance is gestureState.move{X,Y}
    // The accumulated gesture distance since becoming responder is
    // gestureState.d{x,y}
  }

使用dxdy获取在X轴和Y轴上拖动的距离。

这是 PanResponder

上的 documentation