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

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

相关推荐
茶底世界之下3 小时前
窗边白雏菊与旧书:用 Awaking 留住一束暖光
ios·app·产品
恋猫de小郭4 小时前
Flutter THLC 的 WebView 滚动终于从 70 FPS 提升到 120 FPS
android·前端·flutter
好的佩奇15 小时前
Dart 之扩展类型
android·flutter·dart
茶底世界之下1 天前
阴天海边的蓝船:用 Awaking 把灰蓝调成清亮主角
ios·app·产品
恋猫de小郭1 天前
Flutter 下 AOT 一个你怎么都想不出来的 Bug ,JIT 正常的计算,在 AOT 居然算错了
android·前端·flutter
Digitally1 天前
如何将 iPhone 备份到 iCloud?
ios
好的佩奇2 天前
Dart 之扩展方法
android·flutter·dart
好的佩奇2 天前
蓝牙之经典蓝牙
android·flutter·蓝牙
传奇开心果编程2 天前
【Flutter踩坑排雷】第19课:路由硬编码坑|字符串路由书写错误,页面跳转失败排查
android·flutter·ios·移动开发·跨平台·ui框架·声明式ui
茶底世界之下2 天前
雨后街口的斑马线:用 Awaking 把颜色让给光与步伐
ios·app·产品