`import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:practicing_get/app/app_controller.dart';
import 'package:practicing_get/app/pages/home/home_page.dart';
class AppWidget extends StatelessWidget {
final appController = Get.put(AppController());
@override
Widget build(BuildContext context) {
return GetMaterialApp(
home: HomePage(),
theme: ThemeData(
primarySwatch: Colors.amber,
brightness: appController.isDark ? Brightness.dark : Brightness.light,
),
);
}
}
`
`import 'package:get/get.dart';
class AppController extends GetController {
static AppController get to => Get.find();
bool isDark = false;
@override
void onInit() {
super.onInit();
}
changeTheme(bool value) {
print('Method Called');
isDark = value;
update();
}
}
`
`import 'package:flutter/material.dart';
import 'package:practicing_get/app/app_controller.dart';
class SwitchComponent extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Switch(
value: AppController.to.isDark,
onChanged: (v) {
AppController.to.changeTheme(v);
},
);
}
}`
Desta forma só está mudando de tema quando dou um hot reload.
Isso tudo é necessário?
Você pode usar simplesmente Get.changeTheme(ThemeData.Dark()) pra mudar o tema, esqueça a abordagem "dark age" de fazer isso na mão.
só pra te explicar, vc está alterando a variável isDark, mas vc tem que lembrar que como vc fez um stateless widget, ele não vai atualizar
o controller só altera o estado de Widgets que estejam dentro de um GetBuilder<Controller>()
por isso que não está mudando o tema
só pra ter certeza vou te falar: não coloque um GetBuilder antes do GetMaterialApp, não daria certo
só pra te explicar, vc está alterando a variável
isDark, mas vc tem que lembrar que como vc fez um stateless widget, ele não vai atualizar
o controller só altera o estado de Widgets que estejam dentro de umGetBuilder<Controller>()
por isso que não está mudando o temasó pra ter certeza vou te falar: não coloque um GetBuilder antes do GetMaterialApp, não daria certo
Fazer a tradução deu muito certo, tu virou o guru do Get ehuaheu
obrigado! Pra ser sincero eu to achando um ótimo passatempo ficar lendo as issues que aparecem aqui e responder as que eu sei kkkkkk
acho que é porque vc vendeu o Get no README igual um vendedor faz kkkkk, fiquei no hype
Entendi. Muito Obrigado!
Most helpful comment
Fazer a tradução deu muito certo, tu virou o guru do Get ehuaheu