访问 ThemeData 定义中的 ThemeData 属性

问题描述 投票:0回答:1

在我的 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,

但是,我想直接在主题声明中重新定义这个属性,这样我就不必到处都这样做,这样我就不会故意定义一个小部件。

可以做到吗?如果是,以什么方式? 预先感谢!

flutter dart floating-action-button themedata
1个回答
0
投票

除非我不明白这个问题,否则你为什么不这样做:

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
        ),
      ),
    );
© www.soinside.com 2019 - 2024. All rights reserved.