Cómo guardar un tema usando un paquete Shared_Preferences
Ayúdame a descubrir dónde escribir algo en el código para que el tema se guarde después de reiniciar la aplicación. He instalado el paquete animatedthemeswitcher y no sé dónde prescribir para que se guarde el tema.
Mi código:
@override
Widget build(BuildContext context) {
final isPlatformDark = WidgetsBinding.instance!.window.platformBrightness == Brightness.dark;
final theme = isPlatformDark ? darkTheme : lightTheme;
child: ThemeProvider(
initTheme: theme,
builder: (context, theme) {
return MaterialApp(
theme: theme,
home: MyApp1(),
debugShowCheckedModeBanner: false,
);
},
),
}
Y la acción sobre el botón:
onPressed: () async {
var brightness = ThemeProvider.of(context)!.brightness;
ThemeSwitcher.of(context)!.changeTheme(
theme: brightness == Brightness.light
? darkTheme
: lightTheme,
reverseAnimation:
brightness == Brightness.dark
? true
: false,
);
setState(() {
toggle = !toggle;
});
},
davy.ai
Para guardar el tema después de reiniciar la aplicación usando el paquete animated_theme_switcher, puedes utilizar la clase SharedPreferences del framework Flutter. Así es cómo puedes implementarlo:
Con estos cambios, la preferencia del tema se guardará en el almacenamiento local y se cargará cuando se reinicie la aplicación.