在flutter中,ThemeData 来统一管理主题的配置信息。
ThemeData 涵盖了 Material Design 规范的可自定义部分样式,比如应用明暗模式 brightness、应用主色调 primaryColor、应用次级色调 accentColor、文本字体 fontFamily、输入框光标颜色 cursorColor 等。如果你想深入了解 ThemeData 的其他 API 参数,可以参考官方文档ThemeData。
我们先来定义一个全局的主题文件
import 'package:flutter/material.dart';
// 浅色主题
final ThemeData lightTheme = ThemeData(
brightness: Brightness.light,//亮色主题
accentColor: Colors.white,//(按钮)Widget前景色
primaryColor: Color(0xff8d4b0e),//主题色
iconTheme:IconThemeData(color: Colors.grey),//icon主题
backgroundColor:Color(0xffffffff),
dividerColor: Color(0xfff8f8f8),
textTheme: TextTheme(subtitle1 : TextStyle(color: Colors.black))//文本主题
);
// 深色主题
final ThemeData darkTheme = ThemeData(
brightness: Brightness.dark,//深色主题
accentColor: Color(0xff39393d),//(按钮)Widget前景色
primaryColor: Color