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

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

相关推荐
I烟雨云渊T3 小时前
iOS 门店营收表格功能的实现
ios
玖夜Kty6 小时前
国内环境修改 flutter.bat 来设置 flutter 的网络环境
flutter
LinXunFeng8 小时前
Flutter - GetX Helper 助你规范应用 tag
flutter·github·visual studio code
明月看潮生9 小时前
青少年编程与数学 01-011 系统软件简介 07 iOS操作系统
ios·青少年编程·操作系统·系统软件
90后的晨仔11 小时前
RxSwift 框架解析
前端·ios
可爱小仙子15 小时前
ios苹果系统,js 滑动屏幕、锚定无效
前端·javascript·ios
阅文作家助手开发团队_山神16 小时前
第五章:Flutter Quill渲染原理深度剖析:Delta到RichText的华丽转身
flutter
未来猫咪花16 小时前
# Flutter状态管理对比:view_model vs Riverpod
flutter·ios·android studio
咕噜企业签名分发-淼淼20 小时前
开发源码搭建一码双端应用分发平台教程:逐步分析注意事项
android·ios
键盘敲没电1 天前
【IOS】GCD学习
学习·ios·objective-c·xcode