androidreact-nativesvgsamsung-mobile

React Native SVG onPress and Image Issues on Samsung A54


I am having some issues with running React Native successfully on Samsung A54 (and potentially other devices). I am building in expo and using a development build. My main two issues are:

PNG images become very distorted/jagged

Screenshot from Samsung S10

Screenshot from Samsung A54

SVG elements don't recognize touch


I am wondering if anyone else has encountered issues like these and how you addressed them? Is this device just anti-RN?

I have limited physical devices and have only seen this issue on this physical device. I am worried the issue exists on other devices I do not have access to.

I am using a device cloud for other testing on real devices and I similarly don't get this issue there. NOTE: the screenshots provided have additional JPG artifacts as the remote tool I am using only lets me download screenshots from the devices as JPGs.

I am at a complete loss. Any help is appreciated!

My dependencies:

"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": "~0.29.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"
  }

Solution

  • I ran into the same onPress problem and used the workaround listed here to use a PanGestureRecognizer instead of onPress. Annoying to have to do, but it worked for me.