-
Notifications
You must be signed in to change notification settings - Fork 24.9k
Open
Labels
Impact: RegressionDescribes a behavior that used to work on a prior release, but stopped working recently.Describes a behavior that used to work on a prior release, but stopped working recently.Needs: Triage 🔍Platform: AndroidAndroid applications.Android applications.
Description
Description
android_ripple is not applied anymore on RN 0.82.1
This is reproduced only when foreground: false, (the default value)
Additional informations:
- This is not reproduced if I switch to Pressable from 'react-native-gesture-handler' (but out of react native scope)
- It shall be the same issue than: Pressable backgroundColor does not change on Android #54298 , I open a dedicated issue as 54298 is not clean enough for followup.
- This issue can be workarounded by disabling enableNewBackgroundAndBorderDrawables flag (see following patch)
@@ -8,13 +8,21 @@ import com.facebook.react.ReactApplication
import com.facebook.react.ReactHost
import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative
import com.facebook.react.ReactNativeHost
import com.facebook.react.ReactPackage
import com.facebook.react.defaults.DefaultReactNativeHost
+import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
+import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsProvider
+import com.facebook.react.internal.featureflags.ReactNativeNewArchitectureFeatureFlagsDefaults
import expo.modules.ApplicationLifecycleDispatcher
import expo.modules.ReactNativeHostWrapper
+class FeatureFlagsProvider(
+ private val defaults: ReactNativeFeatureFlagsProvider = ReactNativeNewArchitectureFeatureFlagsDefaults()
+) : ReactNativeFeatureFlagsProvider by defaults {
+ override fun enableNewBackgroundAndBorderDrawables(): Boolean = false;
+}
class MainApplication : Application(), ReactApplication {
companion object {
private var instance: MainApplication? = null
@@ -28,11 +36,11 @@ class MainApplication : Application(), ReactApplication {
override fun onCreate() {
super.onCreate()
instance = this
loadReactNative(this)
-
+ ReactNativeFeatureFlags.dangerouslyForceOverride(FeatureFlagsProvider())
ApplicationLifecycleDispatcher.onApplicationCreate(this)
}
override val reactNativeHost: ReactNativeHost =
ReactNativeHostWrapper(this, object : DefaultReactNativeHost(this) {Steps to reproduce
Add a simple pressable in your android app with android_ripple
<Pressable
android_ripple={{ color: 'red', borderless: false }}
onPress={() => { console.log('Pressed!'); }}
>
<Text>Press Me</Text>
</Pressable>And click on it !
React Native Version
0.82.1
Affected Platforms
Runtime - Android
Output of npx @react-native-community/cli info
info Fetching system and libraries information...
System:
OS: macOS 26.0.1
CPU: (11) arm64 Apple M3 Pro
Memory: 105.66 MB / 18.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 20.18.1
path: /Users/olivierbouillet/.nvm/versions/node/v20.18.1/bin/node
Yarn:
version: 4.5.3
path: /opt/homebrew/bin/yarn
npm:
version: 10.8.2
path: /Users/olivierbouillet/.nvm/versions/node/v20.18.1/bin/npm
Watchman:
version: 2025.06.30.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.0
- iOS 26.0
- macOS 26.0
- tvOS 26.0
- visionOS 26.0
- watchOS 26.0
Android SDK:
API Levels:
- "28"
- "31"
- "33"
- "34"
- "35"
- "36"
Build Tools:
- 26.0.3
- 30.0.2
- 30.0.3
- 31.0.0
- 33.0.0
- 33.0.1
- 34.0.0
- 35.0.0
- 36.0.0
System Images:
- android-30 | Google APIs ARM 64 v8a
- android-30 | Google Play ARM 64 v8a
- android-34 | Google APIs ARM 64 v8a
- android-35 | Google Play ARM 64 v8a
- android-36 | Google APIs ARM 64 v8a
- android-36 | Google Play ARM 64 v8a
Android NDK: 26.1.10909125
IDEs:
Android Studio: 2025.1 AI-251.25410.109.2511.13665796
Xcode:
version: 26.0.1/17A400
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.12
path: /usr/bin/javac
Ruby:
version: 2.6.10
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.0.0
wanted: 20.0.0
react:
installed: 19.1.1
wanted: 19.1.1
react-native:
installed: 0.82.1
wanted: 0.82.1
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: Not found
newArchEnabled: false
Stacktrace or Logs
N/A
MANDATORY Reproducer
https://github.com/freeboub/bug-react-native-android-ripple-not-applied
Screenshots and Videos
deepktp
Metadata
Metadata
Assignees
Labels
Impact: RegressionDescribes a behavior that used to work on a prior release, but stopped working recently.Describes a behavior that used to work on a prior release, but stopped working recently.Needs: Triage 🔍Platform: AndroidAndroid applications.Android applications.
