# Expo Android Status Bar Icons Invisible in Light Mode

> White status bar icons on a white background? Render expo-status-bar once in the root layout.

- Author: Curtis Miller
- Published: 2026-10-14
- Categories: gotchas, react-native, android
- Canonical URL: https://millarian.com/posts/expo-android-invisible-status-bar/

My Expo app's Android status bar was invisible in light mode. The clock, battery, and signal icons were drawn white on a white background. Dark mode hid it completely, since white icons on a dark background look correct.

## Why it happens

Android draws dark status bar icons only when the app tells it the background is light. The Expo template installs `expo-status-bar`, but I never rendered it anywhere, so nothing told Android to switch.

## The fix

Render [`StatusBar`](https://docs.expo.dev/versions/latest/sdk/status-bar/) once in the root layout with `style="auto"`. It picks dark icons on a light theme and light icons on a dark one.

```tsx
// app/_layout.tsx
import { StatusBar } from "expo-status-bar";
import { Stack } from "expo-router";

export default function RootLayout() {
  return (
    <>
      <StatusBar style="auto" />
      <Stack />
    </>
  );
}
```

If a screen needs different icons, like a dark launch overlay, it can render its own `<StatusBar style="light" />`. The most recently mounted one wins.

## Takeaway

**Test your Android app in light mode, not just dark.** If your template installs `expo-status-bar`, check that something actually renders it.
