我从 YouTube 课程中将深色模式切换到我的应用程序。
https://www.youtube.com/watch?v=iCbakAjWnaI
它工作正常,但当我关闭应用程序时,它不会保存设置为深色或浅色。
如何向其中添加 SharedPreferences?
设置方法
Future<void> setDarkTheme(bool isDarkMode) async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setBool('darktheme', isDarkMode);
}
吸气剂方法
Future<bool> getDarkTheme() async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
return prefs.getBool('darktheme') ?? false;
}
在用户界面中继续使用以下方法:
查看:
themeMode: getDarkTheme() ? ThemeMode.dark : ThemeMode.light,
要更新,也许使用 SwitchListTile:
SwitchListTile(
tileColor: Colors.blue,
title: const Text('Set to Dark mode'),
value: getDarkTheme(),
onChanged:(bool? value) {
setDarkTheme(value!);
},
),