setSystemUI static method
🔹 Set both status bar and navigation bar color, with icon brightness adjustment.
- Android:
- Sets both bars' background color and icon color.
- iOS:
- Affects only status bar icon color (nav bar unaffected).
⚠️ Use isTransparent for full transparency (Android).
SystemUiUtils.setSystemUI(Colors.deepPurple); // purple bars, white icons
SystemUiUtils.setSystemUI(Colors.white); // white bars, black icons
SystemUiUtils.setSystemUI(Colors.transparent, isTransparent: true);
Implementation
static void setSystemUI(Color color, {bool isTransparent = false}) {
final Brightness iconBrightness =
ThemeData.estimateBrightnessForColor(color) == Brightness.dark
? Brightness.light
: Brightness.dark;
final SystemUiOverlayStyle style = SystemUiOverlayStyle(
statusBarColor: isTransparent ? Colors.transparent : color,
statusBarIconBrightness: iconBrightness,
statusBarBrightness: iconBrightness,
systemNavigationBarColor: isTransparent ? Colors.transparent : color,
systemNavigationBarIconBrightness: iconBrightness,
);
SystemChrome.setSystemUIOverlayStyle(style);
}