我在shared_preferences插件中有一个字符串,用于存储特定的ThemeData小部件。哪种/哪里最好的方法是从shared_preferences插件中读取该字符串,以便可以设置整个应用程序的ThemeData?这是在应用启动期间。
答案 0 :(得分:0)
您可以使用设置页来保存和获取数据
saveprefs(bool val) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
// checkfont = val;
// prefs.setBool("checkfont", checkfont);
getprefs();
} // save sharde
getprefs() async {
/* SharedPreferences prefs = await SharedPreferences.getInstance();
checkfont = prefs.getBool("checkfont");
if (checkfont == true) {
myfont = 18;
prefs.setDouble("myfont", 18);
} else {
myfont = 16;
prefs.setDouble("myfont", 16);
}*/
保存到设置页面后,您可以在另一个页面中调用数据
getsharedpref() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
myfont = prefs.getDouble("myfont");
return myfont;
} // get SharedPreferences
答案 1 :(得分:0)
能够通过在runApp()之前读取SharedPrefs实现此目的。 做了这样的事情:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
//Pull ThemeData() object from SharedPrefs here using 'await'
runApp();
}