theme.dart 845 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /// Description: Theme: dark or light
  2. /// Time : 04/28/2023 Friday
  3. /// Author : liuyuqi.gov@msn.cn
  4. import 'package:flutter/material.dart';
  5. class AppTheme extends ThemeExtension<AppTheme> {
  6. AppTheme();
  7. AppTheme.dark();
  8. static ThemeData createTheme({
  9. bool isDark = false,
  10. bool isHighContrast = false,
  11. }) {
  12. return ThemeData.from(
  13. colorScheme: ColorScheme.fromSeed(
  14. seedColor: Colors.blue,
  15. brightness: isDark ? Brightness.dark : Brightness.light,
  16. ),
  17. textTheme: const TextTheme(),
  18. ).copyWith(
  19. extensions: [
  20. isDark ? AppTheme.dark() : AppTheme(),
  21. ],
  22. );
  23. }
  24. @override
  25. ThemeExtension<AppTheme> copyWith() {
  26. return AppTheme();
  27. }
  28. @override
  29. ThemeExtension<AppTheme> lerp(ThemeExtension<AppTheme>? other, double t) {
  30. return AppTheme();
  31. }
  32. }