flutter 添加共享首选项到 SwitchMode

问题描述 投票:0回答:1

我从 YouTube 课程中将深色模式切换到我的应用程序。

https://www.youtube.com/watch?v=iCbakAjWnaI

它工作正常,但当我关闭应用程序时,它不会保存设置为深色或浅色。

如何向其中添加 SharedPreferences?

flutter switch-statement sharedpreferences
1个回答
0
投票
  • 将shared_preferences依赖项添加到您的flutter应用程序中。
  • 创建一个函数来设置和获取键“darktheme”的值。

设置方法

    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!);

},
    ),
© www.soinside.com 2019 - 2024. All rights reserved.