开始给原先适配期的状态擦屁股:现在是修复播放页与播放列表页的显示
This commit is contained in:
@@ -20,7 +20,7 @@ pluginManagement {
|
||||
plugins {
|
||||
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
|
||||
id("com.android.application") version "9.0.1" apply false
|
||||
id("org.jetbrains.kotlin.android") version "2.2.20" apply false
|
||||
id("org.jetbrains.kotlin.android") version "2.3.20" apply false
|
||||
}
|
||||
|
||||
include(":app")
|
||||
|
||||
+12
-2
@@ -5,6 +5,7 @@ import 'package:media_kit/media_kit.dart';
|
||||
import 'package:audio_service/audio_service.dart' as audio_service;
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
|
||||
import 'package:flutter/services.dart';
|
||||
import 'services/audio_service.dart';
|
||||
import 'services/playback_service.dart';
|
||||
import 'services/app_lifecycle_service.dart';
|
||||
@@ -15,8 +16,8 @@ import 'pages/home_page.dart';
|
||||
import 'pages/player_page.dart';
|
||||
import 'pages/playlist_page.dart';
|
||||
import 'widgets/global_mini_player.dart';
|
||||
import 'utils/navigation.dart';
|
||||
|
||||
final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
|
||||
final stopwatch = Stopwatch();
|
||||
|
||||
bool _appInitialized = false;
|
||||
@@ -363,7 +364,15 @@ class _QTPlayerAppState extends State<QTPlayerApp> {
|
||||
debugPrint(
|
||||
'🎨 [QTPlayerApp] build #$_buildCount ${stopwatch.elapsedMilliseconds}ms');
|
||||
|
||||
return MaterialApp(
|
||||
// ⭐ 使用 AnnotatedRegion 包裹 MaterialApp,统一控制系统栏样式
|
||||
return AnnotatedRegion<SystemUiOverlayStyle>(
|
||||
value: SystemUiOverlayStyle(
|
||||
statusBarColor: Colors.transparent,
|
||||
statusBarIconBrightness: Brightness.light,
|
||||
systemNavigationBarColor: const Color(0xFF1A1F1E),
|
||||
systemNavigationBarIconBrightness: Brightness.light,
|
||||
),
|
||||
child: MaterialApp(
|
||||
title: '清听',
|
||||
theme: ThemeData(
|
||||
brightness: Brightness.dark,
|
||||
@@ -422,6 +431,7 @@ class _QTPlayerAppState extends State<QTPlayerApp> {
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
|
||||
@@ -2,6 +2,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../services/audio_service.dart';
|
||||
import '../utils/navigation.dart'; // ⭐ 导入 navigatorKey
|
||||
|
||||
class GlobalMiniPlayer extends StatelessWidget {
|
||||
const GlobalMiniPlayer({super.key});
|
||||
@@ -45,11 +46,9 @@ class GlobalMiniPlayer extends StatelessWidget {
|
||||
color: Colors.transparent,
|
||||
child: InkWell(
|
||||
onTap: () {
|
||||
// ⭐ 使用 Navigator.of(context) 替代 navigatorKey
|
||||
Navigator.of(context, rootNavigator: true)
|
||||
.pushNamed('/player');
|
||||
// ⭐ 使用 navigatorKey 直接跳转
|
||||
navigatorKey.currentState?.pushNamed('/player');
|
||||
},
|
||||
// ⭐ 替换弃用的 withOpacity 为 withValues
|
||||
highlightColor: Colors.white.withValues(alpha: 0.05),
|
||||
splashColor: Colors.white.withValues(alpha: 0.1),
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
@@ -124,8 +123,8 @@ class GlobalMiniPlayer extends StatelessWidget {
|
||||
size: 24,
|
||||
),
|
||||
onPressed: () {
|
||||
// ⭐ 使用 Navigator.of(context)
|
||||
Navigator.of(context).pushNamed('/playlist');
|
||||
// ⭐ 使用 navigatorKey 直接跳转
|
||||
navigatorKey.currentState?.pushNamed('/playlist');
|
||||
},
|
||||
),
|
||||
const SizedBox(width: 4),
|
||||
|
||||
Reference in New Issue
Block a user