如何检测用户触摸 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}
}
使用dx
和dy
获取在X轴和Y轴上拖动的距离。
这是 PanResponder
上的 documentation
我知道在 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}
}
使用dx
和dy
获取在X轴和Y轴上拖动的距离。
这是 PanResponder