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

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

相关推荐
西西学代码35 分钟前
flutter---自定义白噪音UI
flutter
肠胃炎40 分钟前
Flutter ListView 组件及各种模式
flutter
sunly_1 小时前
Flutter:设备唯一id生成,存储,
flutter
0xAaron2 小时前
确定crash文件和dSYM是否对应
ios·uuid·crash·dsym
走在路上的菜鸟4 小时前
Android学Dart学习笔记第十节 循环
android·笔记·学习·flutter
0xAaron4 小时前
符号表和 dSYM UUID 确认
ios·cocoa·uuid·符号表·dsym
0xAaron5 小时前
如何使用dSYM文件来符号化崩溃信息
ios·swift·调试·崩溃·符号化·dsym
小蜜蜂嗡嗡5 小时前
【flutter项目从xcode运行时报错:Undefined symbol: _OBJC_CLASS_$_WeiboSDK】
flutter·cocoa·xcode
走在路上的菜鸟5 小时前
Android学Dart学习笔记第九节 Patterns
android·笔记·学习·flutter
晚霞的不甘6 小时前
跨端一致性与体验统一:构建面向全场景的 Flutter UI 自适应架构
flutter·ui·架构