Edge-to-edge cleanup (expo-status-bar, expo-navigation-bar)#43276
Merged
Edge-to-edge cleanup (expo-status-bar, expo-navigation-bar)#43276
Conversation
Collaborator
|
The Pull Request introduced fingerprint changes against the base commit: 36a8bff Fingerprint diff[
{
"op": "changed",
"beforeSource": {
"type": "dir",
"filePath": "../../packages/expo-navigation-bar/android",
"reasons": [
"expoAutolinkingAndroid"
],
"hash": "12355caa2f60471a3d7f098a7218cfb74493f1f5"
},
"afterSource": {
"type": "dir",
"filePath": "../../packages/expo-navigation-bar/android",
"reasons": [
"expoAutolinkingAndroid"
],
"hash": "dcc4f711a9b26866c05609dd10c2f424a3c7b791"
}
}
]Generated by PR labeler 🤖 |
alanjhughes
approved these changes
Feb 19, 2026
Collaborator
alanjhughes
left a comment
There was a problem hiding this comment.
Looks good. You'll need to clean the build folder in expo-navigation-bar and rebuild for the check packages check to pass
Contributor
Author
|
@alanjhughes Done ✅ |
9260eb4 to
784bb38
Compare
Contributor
|
Subscribed to pull request
Generated by CodeMention |
Member
amandeepmittal
left a comment
There was a problem hiding this comment.
Docs changes look good to me!
Please generate unversioned JSON files. It's basically running the following command for each package:
et gdad -p expo-status-bar
et gdad -p expo-navigation-barFor more information, kindly see: https://github.com/expo/expo/blob/main/docs/README.md#update-api-reference-docs.
Contributor
Author
|
@amandeepmittal Done, thank you. |
amandeepmittal
approved these changes
Feb 20, 2026
1ce4974 to
fe8c9f1
Compare
…/ translucent in expo-status-bar
# Conflicts: # packages/expo-navigation-bar/CHANGELOG.md # packages/expo-router/CHANGELOG.md
…` module configuration instead)
…droidNavigationBar usage
7b74de9 to
ff6a8fb
Compare
brentvatne
approved these changes
Feb 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Android (and Expo) now enforces edge-to-edge, making several
StatusBar/NavigationBarAPIs obsolete. This PR deprecate and no-op those APIs.Those APIs are:
StatusBarsetBackgroundColorStatusBarsetTranslucentNavigationBargetBackgroundColorAsync/setBackgroundColorAsyncNavigationBargetBehaviorAsync/setBehaviorAsyncNavigationBargetBorderColorAsync/setBorderColorAsyncNavigationBargetButtonStyleAsyncBut we can also includes some long-time deprecated functions and props, like
networkActivityIndicatorVisible(deprecated since iOS 13 release) orandroidNavigationBar.visible/expo-navigation-barlegacyVisible(deprecated 3 years ago)How
@expo/config-plugins
androidStatusBar.backgroundColorandandroidStatusBar.translucentand emit a warning in case of usageandroid:statusBarColorto be@android:color/transparent@expo/config-types
androidStatusBar.backgroundColor,androidStatusBar.translucentandandroidNavigationBar@expo/prebuild-config
androidNavigationBar.enforceContrastproperty handling inwithEdgeToEdge(it has been moved to theexpo-navigation-barplugin config)androidNavigationBar.visibleproperty handling / warningandroidNavigationBar.backgroundColorpropertyandroid:navigationBarColorto be@android:color/transparentexpo-navigation-bar
setBackgroundColorAsync,getBackgroundColorAsync,setBorderColorAsync,getBorderColorAsync,setBehaviorAsync,getBehaviorAsync,setPositionAsync,unstable_getPositionAsyncandgetButtonStyleAsyncfunctions. Remove their native Android implementationsborderColor,backgroundColor,behavior,positionplugin optionsenforceContrastplugin option. Fallback toandroidNavigationBar.enforceContrastifandroidNavigationBaris setlegacyVisibleproperty handling / warning@react-native/normalize-colorsdependencyexpo-status-bar
backgroundColor,networkActivityIndicatorVisible, andtranslucentStatusBarpropssetStatusBarBackgroundColor,setStatusBarNetworkActivityIndicatorVisible, andsetStatusBarTranslucentfunctionsOther
NavigationBarscreen examples from the test appTest Plan
expo-navigation-bar,expo-status-bar,@expo/config-pluginsand@expo/prebuild-configpackages and plugins unit testsnpx expo prebuildon a bare Android project with the followingapp.jsonand verify:android:statusBarColoris@android:color/transparentinstyles.xmlandroid:navigationBarColoris@android:color/transparentinstyles.xmlChecklist
changelog.mdentry and rebuilt the package sources according to this short guidenpx expo prebuild& EAS Build (eg: updated a module plugin).