import 'package:flutter/material.dart'; import 'pages/battery_health_page.dart'; import 'services/saf_storage_service.dart'; import 'theme/app_colors.dart'; import 'theme/theme_service.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await SafStorageService().init(); await ThemeService.init(); // 🆕 runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return ValueListenableBuilder( valueListenable: ThemeService.notifier, builder: (context, mode, _) { return MaterialApp( title: '电池健康度', themeMode: mode, theme: _buildTheme(Brightness.light, kLightColors), darkTheme: _buildTheme(Brightness.dark, kDarkColors), home: const BatteryHealthPage(), debugShowCheckedModeBanner: false, ); }, ); } ThemeData _buildTheme(Brightness brightness, AppColors colors) { return ThemeData( useMaterial3: true, brightness: brightness, scaffoldBackgroundColor: colors.background, fontFamily: 'HarmonyOS_Sans_SC', fontFamilyFallback: const ['Flyme'], colorScheme: ColorScheme.fromSeed( seedColor: colors.background, brightness: brightness, ), extensions: [colors], // 🆕 注册 ThemeExtension appBarTheme: AppBarTheme( backgroundColor: colors.background, // ← 关键:和 Scaffold 一致 foregroundColor: colors.textPrimary, // ← 关掉 M3 的滑动变色 elevation: 0, iconTheme: IconThemeData(color: colors.textPrimary), ), textTheme: TextTheme( displayMedium: TextStyle( fontFamily: 'HarmonyOS_Sans_SC', fontFamilyFallback: const ['Flyme'], color: colors.textPrimary, ), headlineMedium: TextStyle( fontFamily: 'HarmonyOS_Sans_SC', fontFamilyFallback: const ['Flyme'], color: colors.textPrimary, ), bodyMedium: TextStyle( fontFamily: 'HarmonyOS_Sans_SC', fontFamilyFallback: const ['Flyme'], color: colors.textPrimary, ), bodySmall: TextStyle( fontFamily: 'HarmonyOS_Sans_SC', fontFamilyFallback: const ['Flyme'], color: colors.textSecondary, ), displayLarge: TextStyle( fontFamily: 'HarmonyOS_Sans_SC', fontFamilyFallback: const ['Flyme'], color: colors.textPrimary, ), ), ); } }