Flutter IOS 前后台切换主题自动变化的问题

BUG 触发条件

  • 设备 IOS 15 模拟器
  • GetX 实现换肤
  • GetMaterialApp 里面配置好 theme和darkTheme
  • 使用GetView和GetController进行开发

此时如果把App前后台切换,使用Obx包括起来的内容会跟谁异常主题变换,未使用Obx的颜色不会变化。

解决路径

首先在获取 lightTheme 和 darkTheme 进行断点,发现在切换到后台的时候会重新获取,猜测它应该是在进入后台的时候对主题进行了保存,但是存储机制可能是错误的。

既然存储异常了,就在进入后台之前再重新设置一遍主题好了;这里使用 WidgetsBinding 进行监听

复制代码
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
  super.didChangeAppLifecycleState(state);
  if(state == AppLifecycleState.paused) {
    /// 重新设置主题
  }
}

重新测试一下,问题解决。

相关推荐
2501_946233892 分钟前
Flutter与OpenHarmony应用设置页面完整开发
android·flutter
2501_9444417521 分钟前
Flutter&OpenHarmony商城App商品分类导航组件开发
flutter
程序员老刘1 小时前
Flutter版本选择指南:3.38.5 补丁发布,生产环境能上了吗? | 2025年12月
flutter·客户端
纟 冬2 小时前
Flutter & OpenHarmony 运动App运动数据同步组件开发
flutter
纟 冬2 小时前
Flutter & OpenHarmony 运动App运动模式选择组件开发
android·java·flutter
w139548564223 小时前
Flutter跨平台开发鸿蒙化JS-Dart通信桥接组件使用指南
javascript·flutter·harmonyos
2501_944446005 小时前
Flutter&OpenHarmony文本输入组件开发
前端·javascript·flutter
2501_946233896 小时前
Flutter与OpenHarmony大师详情页面实现
android·javascript·flutter
纟 冬7 小时前
Flutter & OpenHarmony 运动App运动目标设定组件开发
开发语言·javascript·flutter
2501_944446007 小时前
Flutter&OpenHarmony应用内导航与路由管理
开发语言·javascript·flutter