A library that provides the same interface as the React Native StatusBar API, but with slightly different defaults to work great in Expo environments.
expo-status-bar
gives you a component and imperative interface to control the app status bar to change its text color, background color, hide it, make it translucent or opaque, and apply animations to any of these changes. Exactly what you are able to do with the StatusBar
component depends on the platform you're using.
tvOS and web support
For tvOS, the
expo-status-bar
code will compile and run, but no status bar will show.For web, there is no API available to control the operating system's status bar, so
expo-status-bar
will do nothing and won't throw an error.
-Â
npx expo install expo-status-bar
If you are installing this in an existing React Native app, start by installing expo
in your project. Then, follow the additional instructions as mentioned by the library's README under "Installation in bare React Native projects" section.
import { StyleSheet, Text, View } from 'react-native';
import { StatusBar } from 'expo-status-bar';
export default function App() {
return (
<View style={styles.container}>
<Text style={styles.text}>Notice that the status bar has light text!</Text>
<StatusBar style="light" />
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#000',
alignItems: 'center',
justifyContent: 'center',
},
text: {
color: '#fff',
},
});
import { StatusBar } from 'expo-status-bar';
Type: React.Element<StatusBarProps>
A component that allows you to configure your status bar without directly calling imperative
methods like setBarStyle
.
You will likely have multiple StatusBar
components mounted in the same app at the same time.
For example, if you have multiple screens in your app, you may end up using one per screen.
The props of each StatusBar
component will be merged in the order that they were mounted.
This component is built on top of the StatusBar
component exported from React Native, and it provides defaults that work better for Expo users.
boolean
If the transition between status bar property changes should be
animated. Supported for backgroundColor
, barStyle
and hidden
.
hidden
boolean
If the status bar is hidden.
StatusBarAnimation
 • Default: 'fade'
The transition effect when showing and hiding the status bar using the hidden prop.
boolean
If the network activity indicator should be visible.
StatusBarStyle
 • Default: 'auto'
Sets the color of the status bar text. Default value is "auto"
which
picks the appropriate value according to the active color scheme, eg:
if your app is dark mode, the style will be "light"
.
Parameter | Type | Description |
---|---|---|
color | ColorValue | Background color. |
animated(optional) | boolean | Animate the style change. |
Set the background color of the status bar.
void
StatusBar.setStatusBarHidden(hidden, animation)
Parameter | Type | Description |
---|---|---|
hidden | boolean | The dialog's title. |
animation(optional) | StatusBarAnimation | Optional animation when changing the status bar hidden property. |
Toggle visibility of the status bar.
void
Parameter | Type | Description |
---|---|---|
visible | boolean | Show the indicator. |
Toggle visibility of the network activity indicator.
void
Parameter | Type | Description |
---|---|---|
style | StatusBarStyle | The color of the status bar text. |
animated(optional) | boolean | If the transition should be animated. |
Set the bar style of the status bar.
void
Parameter | Type | Description |
---|---|---|
translucent | boolean | Set as translucent. |
Set the translucency of the status bar.
void
Literal Type: string
Acceptable values are: 'none'
| 'fade'
| 'slide'