
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
react-native-immersive-bars
Advanced tools
React Native component to change bottom bar/navigation bar to be transparent on Android
Do you like the button slider that changes from light to dark mode? That's another package that I've built:
react-native-button-toggle-group
Google officially suggests apps that target Q or higher to render content under the statusbar and navbar. However, doing so previously was difficult to do and required some customization and tweaking. Not to mention the variant support for other APIs.
Well, this package enables you to easily do so across various Android APIs levels. It also mocks out usage with iOS and other platforms, so you're able to use it in cross-platform apps.
⚠ This package only supports Android 5.0 and higher ⚠
This package is meant to be used alongside the
react-native-safe-area-contextpackage in order to provide proper padding and margins in order to keep scrollviews and others from being stuck forever under the navbar.Please refer to that package's README for more information on how to use it.
npm i --save react-native-immersive-bars
Or
yarn add react-native-immersive-bars
If you're targeting API 29+ in your React Native app, you need to do one more step to enable the fully transparent bars. Add:
<item name="android:enforceNavigationBarContrast">false</item>
To:
android\app\src\main\res\values\styles.xml
import {changeBarColors} from 'react-native-immersive-bars';
// ...
React.useEffect(() => {
changeBarColors(isDarkMode, '#50000000', 'transparent');
// or changeBarColors(isDarkMode);
}, [isDarkMode]);
The changeBarColors function has a single required parameter and two optional ones.
isDarkMode (Required): If the app is in dark mode or not - will apply proper styling to icons and statusbar/navbar backgroundtranslucentLightStr (Optional): When a translucent bar must be drawn (due to API restrictions), what color it should be drawn in light modetranslucentDarkStr (Optional): When a translucent bar must be drawn (due to API restrictions), what color it should be drawn in dark modeBoth translucentLightStr and translucentDarkStr accept and color that Color.parseColor is able to handle as well as the string 'transparent'.
THIS MEANS THAT THREE DIGIT HEX SHORTHAND LIKE
#FFFWILL CAUSE YOUR APP TO CRASH
onCreate (Optional)If you only use the JavaScript code, your app will flash the navbar once the App.tsx code finally renders. If you want to avoid a jump like that, you can edit your code in:
android > app > src > main > java > yourpackagepath > MainActivity.java
And change the code to reflect this:
import com.facebook.react.ReactActivity;
import com.rnimmersivebars.ImmersiveBars; // here
public class MainActivity extends ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
boolean isDarkMode = false; // Customize this to match your app's default theme
ImmersiveBars.changeBarColors(this, isDarkMode); // here
super.onCreate(savedInstanceState);
}
// ...other code
}
If you don't need to use a fullscreen navbar, then you can simply change the color of the navbar itself with this package:
Note that this package does not play nice with react-native-safe-area-context's edge detection.
Otherwise, if you want to hide the navbar and the statusbar in their entirety, I'd suggest taking a look at the following package:
FAQs
React Native component to change bottom bar/navigation bar to be transparent on Android
The npm package react-native-immersive-bars receives a total of 227 weekly downloads. As such, react-native-immersive-bars popularity was classified as not popular.
We found that react-native-immersive-bars demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.