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

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

相关推荐
初级代码游戏8 小时前
iOS开发 SwiftUI Text的基本用法
ios·swiftui·swift
花开彼岸天~11 小时前
Flutter跨平台开发鸿蒙化定位组件使用指南
flutter·华为·harmonyos
hudawei99614 小时前
flutter路由传参接收时机
开发语言·flutter·异步
花开彼岸天~15 小时前
Flutter跨平台开发鸿蒙化日志测试组件使用指南
flutter·elasticsearch·harmonyos
昼-枕16 小时前
【实战分享】我用Flutter为小餐馆开发的点餐系统
flutter
TheNextByte116 小时前
如何安全有效地清除iPad数据以便出售?
安全·ios·ipad
开心-开心急了17 小时前
ai + fluent_ui 实现自定义winUI风格窗口
flutter·ui
十二测试录17 小时前
Android和iOS测试区别
android·经验分享·ios·职场发展·ab测试
儿歌八万首18 小时前
Flutter自定义组件: 为横向列表自定义“进度条”式滚动指示器
flutter
张飞签名上架20 小时前
深耕全球市场:App上架iOS与Google Play全流程指南
macos·ios·cocoa·ios上架·上架·谷歌上架