From 63e90d13d4b0102a6574808bbc67260bb11fcbce Mon Sep 17 00:00:00 2001 From: zarzet Date: Tue, 31 Mar 2026 18:36:28 +0700 Subject: [PATCH] fix: match system navigation bar color with app theme Set systemNavigationBarColor to surfaceContainer (matching the in-app NavigationBar) via AppBarTheme.systemOverlayStyle. Handles light, dark, AMOLED and dynamic color schemes automatically. Closes zarzet/SpotiFLAC-Mobile#284 --- lib/theme/app_theme.dart | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/theme/app_theme.dart b/lib/theme/app_theme.dart index 309a4c9..1331770 100644 --- a/lib/theme/app_theme.dart +++ b/lib/theme/app_theme.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:spotiflac_android/models/theme_settings.dart'; class AppTheme { @@ -85,6 +86,20 @@ class AppTheme { fontSize: 22, fontWeight: FontWeight.w500, ), + systemOverlayStyle: SystemUiOverlayStyle( + // Status bar + statusBarColor: Colors.transparent, + statusBarIconBrightness: scheme.brightness == Brightness.dark + ? Brightness.light + : Brightness.dark, + // System navigation bar — match the in-app NavigationBar color + systemNavigationBarColor: isAmoled + ? Colors.black + : scheme.surfaceContainer, + systemNavigationBarIconBrightness: scheme.brightness == Brightness.dark + ? Brightness.light + : Brightness.dark, + ), ); static CardThemeData _cardTheme(ColorScheme scheme) => CardThemeData(