可以触摸侧视图组件被检测到反应原生?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可以触摸侧视图组件被检测到反应原生?相关的知识,希望对你有一定的参考价值。

我的React本机应用程序屏幕具有几个文本输入的View组件。如何在View外的屏幕上检测到触摸?请帮忙。

谢谢

答案

正如Andrew said:您可以使用TouchableWithoutFeedback包装View并添加onPress,您可以检测何时点击视图。

实现这一目标的另一种方法是对view的触摸事件做出响应。

 /* Methods that handled the events */
handlePressIn(event) {
  // Do stuff when the view is touched
}

handlePressOut(event) {
    // Do stuff when the the touch event is finished
}

...

    <View
      onStartShouldSetResponder={(evt) => true}
      onMoveShouldSetResponder={(evt) => true}
      onResponderGrant={this.handlePressIn}
      onResponderMove={this.handlePressIn}
      onResponderRelease={this.handlePressOut}
    >
         ...
    </View>

Grant和move之间的区别在于Grant只是在用户按下时,而Move是在用户按下并移动按下位置时

另一答案

把你的View放在TouchableWithoutFeedback里面,展开TouchableWithoutFeedback全屏并添加onPress处理程序。

<TouchableWithoutFeedback 
  onPress={ /*handle tap outside of view*/ }
  style={ /* fullscreen styles */}
>
    <View>
     ...
    </View
</TouchableWithoutFeedback>
另一答案

您可以尝试使用Modal来创建此行为。

单击输入字段时,将显示包含多个文本输入的模态。如果你在Modal外面点击它会隐藏。

以上是关于可以触摸侧视图组件被检测到反应原生?的主要内容,如果未能解决你的问题,请参考以下文章

可以在本机反应中检测到视图组件吗?

自定义按钮视图:检测触摸向下/向上,快速,并回退拖动到 UIScrollView

可触摸的不透明标题反应原生

使用反应原生flexbox样式创建视图组件网格的Bug

TapgestureRecognizer 将触摸检测为滚动视图

在本机反应中单元测试触摸事件