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

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

相关推荐
在下历飞雨2 小时前
Kuikly基础之动画实战:让孤寡青蛙“活”过来
前端·ios·harmonyos
勇气要爆发2 小时前
【第五阶段—高级特性和架构】第七章:CustomPainter—绘图大师
flutter
用户7502734994773 小时前
我用百度文心快码开发了一款积木工坊:用AI让每个孩子都成为小小建筑师
flutter
D***t1313 小时前
Swift在iOS中的多任务处理
开发语言·ios·swift
名字被你们想完了4 小时前
Flutter 实现一个容器内部元素可平移、缩放和旋转等功能(一)
flutter
灰灰勇闯IT4 小时前
Flutter×VS Code:跨端开发的高效协作指南(2025最新配置)
笔记·flutter·harmonyos
●VON4 小时前
Flutter vs React Native vs 原生开发:有何不同?
学习·flutter·react native·react.js·openharmony
白茶三许5 小时前
【OpenHarmony】深入理解 Flutter 异步编程:从基础到实战
flutter·开源·openharmony·gitcode
西西学代码5 小时前
flutter---日历
flutter
kirk_wang5 小时前
Flutter 桌面/Web 开发:用 MouseRegion 打造原生级交互体验
前端·flutter·交互