我的应用程序中有一个动态主题。 我使用以下代码设置主题:
final ThemeData base = ThemeData(brightness: Brightness.light, fontFamily: 'Simpler');
return base.copyWith(
primaryColor: AppColors.appColor,
accentColor: AppColors.secondaryColor,
accentColorBrightness: Brightness.light,
accentIconTheme: IconThemeData(color: Colors.black)
);
这已设置为我的应用程序中的主题
child: MaterialApp(
title: Provider.of<AppConfig>(context).appName,
locale: selectedLocale.locale,
theme: currentTheme.data,
initialRoute: '/',
onGenerateRoute: routes,
localizationsDelegates: [
AppLocalizationsDelegate(),
FallbackCupertinoLocalisationsDelegate(),
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: [
Locale('en', 'US'),
],
),
文档显示,诸如fab或switch之类的小部件应默认设置为主题强调色,但出于某种原因,这些小部件获得的颜色是系统默认的浅蓝色强调色。 当我调试并检查以查看Theme.of(context)中的重音颜色时,我看到该颜色是正确的...
如果我专门将颜色更改添加到自定义主题,例如
floatingActionButtonTheme: FloatingActionButtonThemeData(
backgroundColor: AppColors.secondaryColor,
foregroundColor: Colors.black,
),
颜色设置为应有的设置,但是我不认为我应该覆盖ThemeData中的所有属性,这只是没有道理。