-
Notifications
You must be signed in to change notification settings - Fork 78
Open
Description
Here is the minimal reproducible example.
So when you first set the systemNavigationBarColor
like so:
SystemChrome.setSystemUIOverlayStyle(
const SystemUiOverlayStyle(
statusBarColor: Colors.transparent,
systemNavigationBarColor: Colors.green,
systemNavigationBarContrastEnforced: false,
),
);
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [
SystemUiOverlay.bottom,
]);
and then call context.showFlash
with FlashPosition.top
, the green system navigation bar changes from green back to black.
This is clearly unwanted as the systemNavigationBarColor
is normally set once and supposed to keep its value.
I have tracked down the issue to the following part in the flash code:
// flash.dart:583
if (widget.position == FlashPosition.top) {
final brightness = ThemeData.estimateBrightnessForColor(backgroundColor);
child = AnnotatedRegion<SystemUiOverlayStyle>(
value: brightness == Brightness.dark ? SystemUiOverlayStyle.light : SystemUiOverlayStyle.dark,
child: child,
);
}
I deleted this if statement which makes it work. However, I don't know if that has any implications that I'm not aware of. For me it fixes the issue.
I have opened a PR and looking forward to your comments about if this statement is necessary or can safely be removed.
Ludo978, cristianbregant, tmaihoff, honishi and klisiewicz
Metadata
Metadata
Assignees
Labels
No labels