import 'package:flutter/material.dart'; class Themes { static Map get values => {'默认主题': defaultTheme, '蓝色主题': lightTheme, '夜间主题': darkTheme}; static final ThemeData defaultTheme = ThemeData( primaryColor: const Color(0xFF038873), primaryColorLight: Colors.green, primaryColorDark: const Color(0xFF026F5C), indicatorColor: Colors.green, checkboxTheme: CheckboxThemeData( fillColor: MaterialStateProperty.resolveWith( (Set states) { if (states.contains(MaterialState.disabled)) { return null; } if (states.contains(MaterialState.selected)) { return const Color(0xFF038873); } return null; }), ), radioTheme: RadioThemeData( fillColor: MaterialStateProperty.resolveWith( (Set states) { if (states.contains(MaterialState.disabled)) { return null; } if (states.contains(MaterialState.selected)) { return const Color(0xFF038873); } return null; }), ), switchTheme: SwitchThemeData( thumbColor: MaterialStateProperty.resolveWith( (Set states) { if (states.contains(MaterialState.disabled)) { return null; } if (states.contains(MaterialState.selected)) { return const Color(0xFF038873); } return null; }), trackColor: MaterialStateProperty.resolveWith( (Set states) { if (states.contains(MaterialState.disabled)) { return null; } if (states.contains(MaterialState.selected)) { return const Color(0xFF038873); } return null; }), ), colorScheme: const ColorScheme( primary: Color(0xFF038873), secondary: Color(0xFF038873), surface: Colors.white, background: Colors.white, error: Color(0xffb00020), onPrimary: Colors.white, onSecondary: Colors.white, onSurface: Colors.black, onBackground: Colors.black, onError: Colors.white, brightness: Brightness.light, ).copyWith(error: const Color(0xffb00020)), ); static final ThemeData lightTheme = ThemeData.light(); static final ThemeData darkTheme = ThemeData.dark().copyWith(brightness: Brightness.dark); }