在 Flutter 中,如何一次设置*所有*脚手架背景色?
In Flutter, how do you set *all* the scaffold background color at once?
目前,我设置了每个屏幕的背景颜色:
@override
Widget build(BuildContext context) => Scaffold(
backgroundColor: Colors.white,
body: ...
);
每次创建新屏幕时,我总是忘记添加这种背景颜色setter。这是一个小小的不便,但我真的很感激,如果有一种方法可以为所有屏幕设置一次这种背景颜色,除非被特定 Scaffold
的 backgroundColor
属性 覆盖。我试过在MaterialApp
的color
属性上设置颜色,但看起来没有任何效果。
您应该将背景颜色参数覆盖的自定义 ThemeData 传递给您的 MaterialApp,这样就可以解决问题:
return MaterialApp(
// your other app initialization code
theme: ThemeData(scaffoldBackgroundColor: Colors.white),
);
您可以在官方文档中阅读更多关于 ThemData 和 flutter 应用程序主题的信息
https://flutter.dev/docs/cookbook/design/themes
目前,我设置了每个屏幕的背景颜色:
@override
Widget build(BuildContext context) => Scaffold(
backgroundColor: Colors.white,
body: ...
);
每次创建新屏幕时,我总是忘记添加这种背景颜色setter。这是一个小小的不便,但我真的很感激,如果有一种方法可以为所有屏幕设置一次这种背景颜色,除非被特定 Scaffold
的 backgroundColor
属性 覆盖。我试过在MaterialApp
的color
属性上设置颜色,但看起来没有任何效果。
您应该将背景颜色参数覆盖的自定义 ThemeData 传递给您的 MaterialApp,这样就可以解决问题:
return MaterialApp(
// your other app initialization code
theme: ThemeData(scaffoldBackgroundColor: Colors.white),
);
您可以在官方文档中阅读更多关于 ThemData 和 flutter 应用程序主题的信息 https://flutter.dev/docs/cookbook/design/themes