Dart 在切换并重新启动应用程序后,我如何在颤振中为开关设定正确的值?
我有一个开关,我在光明主题和黑暗主题之间切换。开关值true=暗主题。开关值false=亮起。默认值为false。 如果我从false切换到true,主题将切换到dark,到目前为止还不错。但如果我重新启动应用程序,则开关为false,并显示黑色主题Dart 在切换并重新启动应用程序后,我如何在颤振中为开关设定正确的值?,dart,flutter,Dart,Flutter,我有一个开关,我在光明主题和黑暗主题之间切换。开关值true=暗主题。开关值false=亮起。默认值为false。 如果我从false切换到true,主题将切换到dark,到目前为止还不错。但如果我重新启动应用程序,则开关为false,并显示黑色主题 bool _switchValue = false; void _changeThemeInOpp(bool switchValue) { setState(() { _switchValue = switchValue; });
bool _switchValue = false;
void _changeThemeInOpp(bool switchValue) {
setState(() {
_switchValue = switchValue;
});
if (_switchValue == true) {
DynamicTheme.of(context).setBrightness(Brightness.dark);
} else {
DynamicTheme.of(context).setBrightness(Brightness.light);
}
}
new Switch(
value: _switchValue,
onChanged: (bool switchValue) {
_changeThemeInOpp(switchValue);
}),
如何重新启动应用程序并使交换机具有正确的值?您需要使用以下方法将
\u switchValue
保存在磁盘中
有关更多信息,请参阅:
更改值时保存该值:
void _changeThemeInOpp(bool switchValue) async{
// save new value
final _switchValue= await SharedPreferences.getInstance();
_switchValue.setInt('Value', switchValue);
setState(() {
_switchValue = switchValue;
});
if (_switchValue == true) {
DynamicTheme.of(context).setBrightness(Brightness.dark);
} else {
DynamicTheme.of(context).setBrightness(Brightness.light);
}
}
您需要使用以下命令将
\u switchValue
保存在磁盘中
有关更多信息,请参阅:
更改值时保存该值:
void _changeThemeInOpp(bool switchValue) async{
// save new value
final _switchValue= await SharedPreferences.getInstance();
_switchValue.setInt('Value', switchValue);
setState(() {
_switchValue = switchValue;
});
if (_switchValue == true) {
DynamicTheme.of(context).setBrightness(Brightness.dark);
} else {
DynamicTheme.of(context).setBrightness(Brightness.light);
}
}