themes.dart 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import 'package:flutter/material.dart';
  2. /*import 'package:isdu_flutter/ui/activityview.dart';
  3. import 'package:isdu_flutter/ui/news.dart';
  4. import 'package:isdu_flutter/ui/phone.dart';*/
  5. ///优先使用Theme中的颜色,如果Theme中颜色不满足需求再使用colorScheme中的颜色
  6. ///primaryColor是主颜色,确定色系
  7. ///primaryColorLight为主颜色的浅色变种
  8. ///primaryColorDark为主颜色的深色变种
  9. ///errorColor为错误色和警告色
  10. ///
  11. ///colorScheme:
  12. ///primary为主颜色(和primaryColor保持一致或相近颜色)
  13. ///secondary为次级颜色(和primaryColor保持一致或同一色系)
  14. ///error为错误色(和errorColor保持一致)
  15. ///onPrimary为以primaryColor为背景的字体颜色(多为按钮的默认颜色)
  16. ///onSurface为Text组件的默认颜色
  17. ///brightness为模式
  18. /// (会影响状态栏以及webview的背景)[ActivityViewPage],[PhonePage],[NewsPage]
  19. ///
  20. /// 以上为必须需要的颜色,其余未列举出的颜色可自由发挥
  21. ///
  22. class Themes {
  23. static Map<String, ThemeData> get values =>
  24. {'默认主题': defaultTheme, '蓝色主题': lightTheme, '夜间主题': darkTheme};
  25. static final ThemeData defaultTheme = ThemeData(
  26. primaryColor: const Color(0xFF038873),
  27. primaryColorLight: Colors.green,
  28. primaryColorDark: const Color(0xFF026F5C),
  29. indicatorColor: Colors.green,
  30. errorColor: const Color(0xffb00020),
  31. toggleableActiveColor: const Color(0xFF038873),
  32. colorScheme: ColorScheme(
  33. primary: const Color(0xFF038873),
  34. secondary: const Color(0xFF038873),
  35. surface: Colors.white,
  36. background: Colors.white,
  37. error: const Color(0xffb00020),
  38. onPrimary: Colors.white,
  39. onSecondary: Colors.white,
  40. onSurface: Colors.black,
  41. onBackground: Colors.black,
  42. onError: Colors.white,
  43. brightness: Brightness.light,
  44. primaryVariant: const Color(0xFF038873),
  45. secondaryVariant: const Color(0xFF038873),
  46. ),
  47. );
  48. static final ThemeData lightTheme = ThemeData.light();
  49. static final ThemeData darkTheme =
  50. ThemeData.dark().copyWith(brightness: Brightness.dark);
  51. }