我有一个条件主题小部件:
return Theme(
data: themeMode == ThemeMode.light ? formThemeTwo : formThemeTwoDark,
child: Scaffold(
这会根据 ThemeMode 更改主题。
当主题改变时,这不会改变:
TextStyle(
fontWeight: FontWeight.w600,
fontSize: 40,
color: Theme.of(context).primaryColor)
所以有两个主题,当主题更改为formThemeTwoDark时,Theme.of(context).primaryColor
不会更新为使用formThemeTwoDark的primaryColor。它正在更新未通过 using 声明的颜色Theme.of(context)
(例如,根本不指定颜色而是使用主题默认值的小部件)。