【发布时间】:2019-12-09 20:33:58
【问题描述】:
我是新来的颤振。我的问题是如何在脚手架的初始状态下切换主题?我已经使用提供程序设置了两个主题,并在按钮按下或设置状态时调用它们。但我正在寻找更方便的东西,比如在初始状态下改变主题。这是我使用提供者的主题代码
class ThemeService with ChangeNotifier {
static final ThemeData themeA =
ThemeData.light().copyWith(scaffoldBackgroundColor: Colors.black);
static final ThemeData themeB =
ThemeData.light().copyWith(scaffoldBackgroundColor: Colors.white);
ThemeData _currentTheme = themeA;
get currentTheme => _currentTheme;
switchToThemeA() {
_currentTheme = themeA;
notifyListeners();
}
switchToThemeB() {
_currentTheme = themeB;
notifyListeners();
}
}
每次我想改变主题我都称之为
ThemeService themeService = Provider.of<ThemeService>(context);
themeService.switchToThemeB();
这在按钮按下和设置状态时工作正常,但我无法在初始状态下调用它。有人可以帮我吗?
【问题讨论】:
-
您尝试在
initState方法中设置此项?
标签: android flutter flutter-layout