gpt4 book ai didi

react-native - 如何禁用可触摸组件中子元素的触摸

转载 作者:行者123 更新时间:2023-12-04 16:35:49 25 4
gpt4 key购买 nike

我有以下代码

<BlurView blurType={'light'} blurAmount={10} style={{flex: 1}}>
<TouchableOpacity style={{flex: 1, justifyContent: 'center', alignItems: 'center'}} onPress={() => this.setState({displayVideoModal: false})}>
<View style={{width: moderateScale(300), height: moderateScale(300), backgroundColor: '#333333', borderRadius: moderateScale(24)}}>

</View>
</TouchableOpacity>
</BlurView>

结果如下

enter image description here

我有 TouchableOpacity 覆盖 BlurView 区域,因为我希望完整的模糊 View 屏幕响应触摸事件并将其隐藏。除了中心的景色。它将包含视频,并且不能接收其父组件的触摸事件,并且必须具有自己的触摸事件。

我该怎么做呢?或者我愿意知道是否有其他方法可以达到类似的结果。

最佳答案

Nested Touchable 似乎对我有用。

<BlurView blurType={'light'} blurAmount={10} style={{flex: 1}}>
<TouchableOpacity style={{flex: 1, justifyContent: 'center', alignItems: 'center'}} onPress={() => this.setState({displayVideoModal: false})}>
<TouchableHighlight style={{width: moderateScale(300), height: moderateScale(300), backgroundColor: '#333333', borderRadius: moderateScale(24)}}>
<View></View>
</TouchableHighlight>
</TouchableOpacity>
</BlurView>

当我点击 child 时 TouchableHighlight它似乎接收到子触摸事件并忽略父。这似乎暂时有效,不确定它是否是好的选择,将愿意听取更好的选择。

我也发现了这个

How can I propagate touch event in nested Touchable in React Native?

https://facebook.github.io/react-native/docs/gesture-responder-system

React Native onStartShouldSetResponder and onResponderRelease?

关于react-native - 如何禁用可触摸组件中子元素的触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59384985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com