setTransparentStatusBar static method
🔹 Force a transparent status bar.
- Android:
- Makes status bar background transparent.
- Uses
colorBehindStatusBarto 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);
}