在我的 Flutter 应用程序中,我用
ThemeData
声明 colorSchemeSeed
:
return MaterialApp(
...
theme: ThemeData(
useMaterial3: true,
visualDensity: VisualDensity.adaptivePlatformDensity,
colorSchemeSeed: Colors.blueGrey,
...
floatingActionButtonTheme: FloatingActionButtonThemeData(
backgroundColor: ?
),
),
...
);
我想使用
backgroundColor
颜色重新定义 FloatingActionButton
的 tertiaryContainer
。
在代码中的任何其他位置,我都可以将此属性设置为 FloatingActionButton
:
backgroundColor: Theme.of(context).colorScheme.tertiaryContainer,
但是,我想直接在主题声明中重新定义这个属性,这样我就不必到处都这样做,这样我就不会故意定义一个小部件。
可以做到吗?如果是,以什么方式? 预先感谢!
除非我不明白这个问题,否则你为什么不这样做:
MaterialApp(
theme: ThemeData(
useMaterial3: true,
visualDensity: VisualDensity.adaptivePlatformDensity,
colorSchemeSeed: Colors.blueGrey,
floatingActionButtonTheme: FloatingActionButtonThemeData(
backgroundColor: (ColorScheme.fromSeed(seedColor: Colors.blueGrey))
.tertiaryContainer, // --> Set the FAB color here
),
),
);