setTransparentStatusBar static method

void setTransparentStatusBar(
  1. Color colorBehindStatusBar, {
  2. Brightness? forceBrightness,
})

🔹 Force a transparent status bar.

  • Android:
    • Makes status bar background transparent.
    • Uses colorBehindStatusBar to guess icon color for contrast.
  • iOS:
    • Only sets icon brightness.

Optionally force forceBrightness (e.g., Brightness.light → white icons).

SystemUiUtils.setTransparentStatusBar(Colors.black); // transparent, white icons
SystemUiUtils.setTransparentStatusBar(Colors.white); // transparent, black icons
SystemUiUtils.setTransparentStatusBar(Colors.red, forceBrightness: Brightness.light);

Implementation

static void setTransparentStatusBar(
  Color colorBehindStatusBar, {
  Brightness? forceBrightness,
}) {
  final Brightness iconBrightness = forceBrightness ??
      (ThemeData.estimateBrightnessForColor(colorBehindStatusBar) ==
              Brightness.dark
          ? Brightness.light
          : Brightness.dark);

  final SystemUiOverlayStyle style = SystemUiOverlayStyle(
    statusBarColor: Colors.transparent,
    statusBarIconBrightness: iconBrightness,
    statusBarBrightness: iconBrightness,
  );

  SystemChrome.setSystemUIOverlayStyle(style);
}