flutter Get.changeTheme在真实的设备上不起作用

gzszwxb4  于 2023-04-22  发布在  Flutter
关注(0)|答案(2)|浏览(413)

我试图使用GetX库动态更改主题。,它在iOS模拟器上完美工作,但它在真实的设备上不工作。
我使用这个代码:

Get.changeTheme(AppThemes.darkTheme);

darkTheme是我想切换到的自定义主题。

ukqbszuj

ukqbszuj1#

我解决了GetX动态更改主题的问题,我是按照下面的代码引用ThemeMode,而不是使用ThemeData的GetX代码示例。
在我的情况下,这个固定的问题,默认的设备系统暗模式不会动态更新到我的ThemeData.light模式。

//Get.changeTheme(Get.isDarkMode ? ThemeData.light() : ThemeData.dark()); //Code from GetX change theme documentation did not work

            Get.changeThemeMode(Get.isDarkMode ? ThemeMode.light : ThemeMode.dark); //Modified successfully by referencing ThemeMode
           setState(() {
           });
ewm0tg9j

ewm0tg9j2#

我看到这个页面是因为我遇到了同样的问题。
幸运的是,我找到了一个解决方案:看起来,在真实的设备上,在调用Get.changeTheme()之后,您需要调用**Get.forceAppUpdate()**才能使其计数。
示例:

Get.changeTheme(buildTheme(value ? Brightness.dark : Brightness.light));
await Get.forceAppUpdate();

相关问题