三星A54设备上React Native的SVG onPress事件无响应与图片显示失真问题求助
三星A54设备上React Native的SVG onPress事件无响应与图片显示失真问题求助
各位好,我目前用Expo开发React Native应用的开发构建版本时,碰到了三星A54独有的两个棘手问题——其他Android设备和iOS设备都能正常运行,唯独这款设备出状况。手头物理设备有限,目前只在它身上发现问题,但我担心这类问题会波及到我没测试到的其他设备,可云真机测试又没出现这些情况,实在卡壳了,想请教有没有同学遇到过类似情况,或是有可行的解决思路?
一、PNG图片显示失真、边缘锯齿严重
- 现象:三星A54上的PNG图片会变得非常模糊,边缘有明显的锯齿感;但在iPhone、其他Android真机以及云真机上,这些图片显示得清晰又对齐,完全正常
- 已尝试的所有方案:
- 分别切换使用React Native原生
Image组件和Expo官方的Expo-Image组件 - 测试过三种图片资源方案:单张大尺寸PNG、单张适配设备尺寸的PNG、1x/2x/3x多分辨率适配的图片组
- 无论用哪种组件或图片资源,
resizeMode/contentFit的表现都和其他设备不一致,完全不遵循预期的缩放规则
- 分别切换使用React Native原生
二、SVG元素的onPress事件完全无响应
- 现象:我用
react-native-svg实现的SVG元素(包含分层结构),只给元素绑定了onPress={() => DoMyCommand()}这一个属性,没有额外添加其他属性。在iPhone和其他Android设备上点击元素,能正常触发DoMyCommand;但在三星A54上点击,完全没有任何反应 - 已排查的点:确认点击区域就是SVG元素本身,没有被其他组件遮挡;云真机测试时该事件也能正常触发
我甚至有点怀疑,这款设备是不是天生和React Native不对付?另外补充下:我用远程工具截取的设备截图只能导出JPG格式,所以截图带有额外的JPG压缩 artifacts,实际设备上的PNG失真问题比截图表现得更严重。
下面是我的项目依赖版本:
"dependencies": { "@react-native-async-storage/async-storage": "1.23.1", "@react-native-masked-view/masked-view": "^0.3.2", "@react-navigation/bottom-tabs": "^7.2.0", "@react-navigation/native": "^7.0.14", "@react-navigation/stack": "^7.1.1", "axios": "^1.7.9", "expo": "~52.0.47", "expo-dev-client": "~5.0.20", "expo-font": "~13.0.4", "expo-image": "~2.0.7", "expo-navigation-bar": "~4.0.9", "expo-secure-store": "~14.0.1", "expo-splash-screen": "~2.0.24", "expo-status-bar": "~2.0.1", "expo-system-ui": "~4.0.9", "expo-updates": "~0.27.4", "react": "18.3.1", "react-native": "0.76.9", "react-native-gesture-handler": "~2.20.2", "react-native-keyboard-controller": "^1.18.1", "react-native-reanimated": "~3.16.1", "react-native-safe-area-context": "4.12.0", "react-native-screens": "~4.4.0", "react-native-svg": "15.8.0" }
有没有同学遇到过这类设备特定的兼容性问题?或者有什么我没考虑到的排查方向?真的完全摸不着头绪了,任何建议都感激不尽!
内容来源于stack exchange
相关产品推荐
相关产品推荐

