适配平板前备份

This commit is contained in:
DelLevin-Home
2026-06-30 20:39:40 +08:00
parent 4fd00ec7be
commit 5e56bc3269
4 changed files with 208 additions and 267 deletions

View File

@@ -4,9 +4,9 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:provider/provider.dart';
import 'package:dynamic_color/dynamic_color.dart';
import 'package:flutter_quill/flutter_quill.dart' as quill;
import 'package:url_launcher/url_launcher.dart';
import 'package:dynamic_color/dynamic_color.dart';
import 'pages/home_page.dart';
import 'utils/theme/app_theme.dart';
import 'utils/app_router.dart';
@@ -192,36 +192,72 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
ChangeNotifierProvider.value(value: widget.appProvider),
ChangeNotifierProvider(create: (_) => NotePlusProvider()),
],
child: Consumer<AppProvider>(
builder: (context, provider, _) {
AppTheme.setFontFamily(provider.fontFamily);
return DynamicColorBuilder(
builder: (lightDynamic, darkDynamic) {
final monetColor = lightDynamic?.primary;
AppTheme.setMonetColor(monetColor);
return MaterialApp(
child: DynamicColorBuilder(
builder: (lightScheme, darkScheme) {
final monetColor = lightScheme?.primary;
AppTheme.setMonetColor(monetColor);
return Consumer<AppProvider>(
builder: (context, provider, _) {
AppTheme.setFontFamily(provider.fontFamily);
final light = AppTheme.getLightTheme(
provider.colorSchemeIndex,
monetColor: monetColor,
);
ThemeData dark;
if (provider.colorSchemeIndex == -1 && monetColor != null) {
final scheme = ColorScheme.fromSeed(
seedColor: monetColor,
brightness: Brightness.dark,
);
dark = ThemeData(
useMaterial3: true,
brightness: Brightness.dark,
colorScheme: scheme,
scaffoldBackgroundColor: scheme.surface,
appBarTheme: AppBarTheme(
backgroundColor: scheme.surface,
foregroundColor: scheme.onSurface,
elevation: 0,
scrolledUnderElevation: 0,
),
cardTheme: CardThemeData(
color: scheme.surfaceContainerHighest,
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
),
);
} else {
dark = AppTheme.darkTheme;
}
final child = MaterialApp(
title: 'MookNote',
debugShowCheckedModeBanner: false,
theme: AppTheme.getLightTheme(provider.colorSchemeIndex, monetColor: monetColor),
darkTheme: AppTheme.darkTheme,
theme: light,
darkTheme: dark,
themeMode: provider.themeMode,
localizationsDelegates: const [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
quill.FlutterQuillLocalizations.delegate,
],
supportedLocales: const [
Locale('zh', 'CN'),
Locale('en', 'US'),
],
home: const HomePage(),
navigatorKey: _navigatorKey,
navigatorObservers: [routeObserver],
onGenerateRoute: AppRouter.generateRoute,
localizationsDelegates: const [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
quill.FlutterQuillLocalizations.delegate,
],
supportedLocales: const [
Locale('zh', 'CN'),
Locale('en', 'US'),
],
home: const HomePage(),
navigatorKey: _navigatorKey,
navigatorObservers: [routeObserver],
onGenerateRoute: AppRouter.generateRoute,
);
return child;
},
);
},
);
},
),
);