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) {
    /// 重新设置主题
  }
}

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

相关推荐
猫山月17 小时前
Flutter路由演进路线(2026)
前端·flutter
悟空瞎说19 小时前
Flutter热更新 Shorebird CodePush 原理、实现细节及费用说明
前端·flutter
Lanren的编程日记1 天前
Flutter 鸿蒙应用AR功能集成实战:多平台AR框架+模拟模式,打造增强现实体验
flutter·ar·harmonyos
SameX1 天前
我做了个专注 App,把连续打卡阈值从 3/7/14 改成 2/5 之后留存明显好了
ios
zhangjikuan891 天前
Flutter备忘
flutter
Lanren的编程日记1 天前
Flutter 鸿蒙应用权限管理功能实战:标准化权限申请与状态管控,提升用户信任度
flutter·华为·harmonyos
pop_xiaoli1 天前
【iOS】分类、关联对象
ios·分类·数据挖掘·objective-c·cocoa
Mr -老鬼1 天前
EasyClick iOS版 CLI 与 Trae iOS版智能体
ios·自动化·ai编程·tare·ec·easyclick·易点云测
Lanren的编程日记1 天前
Flutter 鸿蒙应用语音识别功能集成实战:多平台框架+模拟模式,实现便捷语音输入
flutter·语音识别·harmonyos
wechatbot8881 天前
企业微信 iPad 协议接口全功能开发实战
汇编·人工智能·ios·微信·企业微信·ipad