当按下另一个可触摸的不透明度时,一个可触摸的不透明度不会按下
One touchable opacity doesn't press when another touchable opacity is pressed
我在 React native 中制作了一个程序,其中有两个按钮,按下它们会增加点击计数器。
问题是当按下一个按钮时,另一个按钮不会响应并且不会增加计数器。按钮用Touchableopacity制作,动作用onPress完成。
<View style = {{flex:1,flexDirection:'row',justifyContent:'center'}}>
<View>
<TouchableOpacity style = {styles.button}
onPress = {() => this.start() }
>
<Text style={styles.buttonText}>
Tap
</Text>
</TouchableOpacity>
</View>
<View>
<TouchableOpacity style = {styles.button}
onPress = {() => this.start() }>
<Text style={styles.buttonText}>
Tap
</Text>
</TouchableOpacity>
</View>
</View>
</View>
我使用 onTouchStart 而不是 onPress 解决的问题
尝试使用 onTouchStart
而不是 onPress
。
所以改变:
<TouchableOpacity style={styles.button} onPress={() => this.start()}>
收件人:
<TouchableOpacity style={styles.button} onTouchStart={() => this.start()}>
您想要这样做的原因是,当一个按钮仍被按下时,另一个按钮上的 onPress
操作不会触发,直到您停止按下原始按钮。
我不知道之前的发帖者使用的是什么版本的 React Native,但“onTouchStart”仅适用于 View 组件,不适用于 Touchable Opacity。
在视图中包装我的 touchable 可以很好地模仿 onPress 行为
<View onTouchStart={myEventHandler}>
<TouchableOpacity>
<Text>My Touchable Button</Text>
</TouchableOpacity>
</View>
我在 React native 中制作了一个程序,其中有两个按钮,按下它们会增加点击计数器。 问题是当按下一个按钮时,另一个按钮不会响应并且不会增加计数器。按钮用Touchableopacity制作,动作用onPress完成。
<View style = {{flex:1,flexDirection:'row',justifyContent:'center'}}>
<View>
<TouchableOpacity style = {styles.button}
onPress = {() => this.start() }
>
<Text style={styles.buttonText}>
Tap
</Text>
</TouchableOpacity>
</View>
<View>
<TouchableOpacity style = {styles.button}
onPress = {() => this.start() }>
<Text style={styles.buttonText}>
Tap
</Text>
</TouchableOpacity>
</View>
</View>
</View>
我使用 onTouchStart 而不是 onPress 解决的问题
尝试使用 onTouchStart
而不是 onPress
。
所以改变:
<TouchableOpacity style={styles.button} onPress={() => this.start()}>
收件人:
<TouchableOpacity style={styles.button} onTouchStart={() => this.start()}>
您想要这样做的原因是,当一个按钮仍被按下时,另一个按钮上的 onPress
操作不会触发,直到您停止按下原始按钮。
我不知道之前的发帖者使用的是什么版本的 React Native,但“onTouchStart”仅适用于 View 组件,不适用于 Touchable Opacity。
在视图中包装我的 touchable 可以很好地模仿 onPress 行为
<View onTouchStart={myEventHandler}>
<TouchableOpacity>
<Text>My Touchable Button</Text>
</TouchableOpacity>
</View>