在较旧且速度较慢的Android设备上,即使按下按钮,也可能不会调用TouchableOpacity上的onPress()方法,并且您可以在视图上看到不透明效果。
奇怪的是,它的统计,在三星Galaxy A8约20%的时间新闻工作,在我的像素6专业版新闻工作100%的时间.
始终调用onPressIn(),但onPress()不确定。
在较旧且速度较慢的Android设备上,即使按下按钮,也可能不会调用TouchableOpacity上的onPress()方法,并且您可以在视图上看到不透明效果。
奇怪的是,它的统计,在三星Galaxy A8约20%的时间新闻工作,在我的像素6专业版新闻工作100%的时间.
始终调用onPressIn(),但onPress()不确定。
1条答案
按热度按时间bxgwgixi1#
tl;dr不要使用
react-native-modals
,它有错误,请找到替代方法(我改用react-native-modal
)我花了一段时间试图弄清楚为什么onPressIn()被成功调用而onPress()没有被成功调用,我阅读了react-native代码中的逻辑,它使用Gesture Responder System来确定是否应该调用回调。
当印刷机工作时,这些是我从触摸事件系统看到的信号:
当媒体不起作用时
RESPONDER_TERMINATED
意味着其他人控制了手势响应系统,为什么会发生这种情况?我不确定,我不知道为什么react-native-modals
会导致这种情况发生,但最终我尝试使用react-native-modal
代替,它正确地工作,没有什么劫持我的压力!