diff --git a/lib/common/widgets/simple_app_bar.dart b/lib/common/widgets/simple_app_bar.dart index b9698f9b6..8a3be56ea 100644 --- a/lib/common/widgets/simple_app_bar.dart +++ b/lib/common/widgets/simple_app_bar.dart @@ -7,12 +7,14 @@ class SimpleAppBar extends StatelessWidget { super.key, required this.height, required this.brightness, - Brightness? statusBarIconBrightness, + this.statusBarBrightness = .dark, + this.statusBarIconBrightness = .light, this.backgroundColor = Colors.black, - }) : statusBarIconBrightness = statusBarIconBrightness ?? .light; + }); final double height; final Brightness brightness; + final Brightness statusBarBrightness; final Brightness statusBarIconBrightness; final Color backgroundColor; @@ -20,9 +22,9 @@ class SimpleAppBar extends StatelessWidget { Widget build(BuildContext context) { return AnnotatedRegion( value: SystemUiOverlayStyle( - statusBarBrightness: .light, - statusBarColor: Colors.transparent, + statusBarBrightness: statusBarBrightness, statusBarIconBrightness: statusBarIconBrightness, + statusBarColor: Colors.transparent, systemStatusBarContrastEnforced: false, systemNavigationBarColor: Colors.transparent, systemNavigationBarIconBrightness: brightness.reverse, diff --git a/lib/pages/video/view.dart b/lib/pages/video/view.dart index 73af626f4..d719affda 100644 --- a/lib/pages/video/view.dart +++ b/lib/pages/video/view.dart @@ -494,12 +494,9 @@ class _VideoDetailPageVState extends State : Obx( () { final scrollRatio = videoDetailController.scrollRatio.value; - Brightness? statusBarIconBrightness; - if (Platform.isAndroid) { - statusBarIconBrightness = isPortrait && scrollRatio >= 0.5 - ? colorScheme.brightness.reverse - : .light; - } + final brightness = colorScheme.brightness; + final Brightness statusBarBrightness; + final Brightness statusBarIconBrightness; final backgroundColor = isPortrait && scrollRatio > 0 ? Color.lerp( Colors.black, @@ -507,10 +504,18 @@ class _VideoDetailPageVState extends State scrollRatio, )! : Colors.black; + if (isPortrait && scrollRatio >= 0.5) { + statusBarBrightness = brightness; + statusBarIconBrightness = brightness.reverse; + } else { + statusBarBrightness = .dark; + statusBarIconBrightness = .light; + } return SimpleAppBar( height: padding.top, backgroundColor: backgroundColor, - brightness: colorScheme.brightness, + brightness: brightness, + statusBarBrightness: statusBarBrightness, statusBarIconBrightness: statusBarIconBrightness, ); },