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

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

相关推荐
某zhuan3 分钟前
Flutter环境搭建(VS Code和Android Studio)
android·flutter·android studio
小雨下雨的雨14 分钟前
触手可及的微观世界:基于 Flutter 的 3D 血细胞交互教学应用开发
flutter·3d·华为·矩阵·交互·harmonyos·鸿蒙系统
Miguo94well15 分钟前
Flutter框架跨平台鸿蒙开发——结婚请柬生成器开发流程
flutter·华为·harmonyos
Miguo94well26 分钟前
Flutter框架跨平台鸿蒙开发——记忆力练习APP开发流程
flutter·华为·harmonyos·鸿蒙
2501_9445215938 分钟前
Flutter for OpenHarmony 微动漫App实战:列表项组件实现
android·开发语言·javascript·flutter·ecmascript
小风呼呼吹儿39 分钟前
Flutter 框架跨平台鸿蒙开发 - 种子发芽记录器:记录植物成长的每一刻
android·flutter·华为·harmonyos
Miguo94well1 小时前
Flutter框架跨平台鸿蒙开发——学茶知识APP开发流程
flutter·华为·harmonyos·鸿蒙
一起养小猫1 小时前
Flutter for OpenHarmony 实战:Dart类与面向对象编程
android·flutter
一起养小猫1 小时前
Flutter for OpenHarmony 实战:Dart异步编程基础Future与async-await详解
flutter·harmonyos
小白阿龙1 小时前
鸿蒙+flutter 跨平台开发——垃圾分类回收APP开发流程
flutter·华为·harmonyos·鸿蒙