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

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

相关推荐
百锦再1 小时前
Elements Plus 跨设备自适应显示问题综合解决方案
python·flutter·小程序·uni-app·k8s·tornado·net
西西学代码2 小时前
Flutter---折线图(自己绘制)
flutter
恋猫de小郭5 小时前
Android Studio 的 AI Agent 有什么特别?未来会有惊艳什么功能?
android·前端·flutter
2501_9466756416 小时前
Flutter与OpenHarmony打卡时间选择器组件
android·javascript·flutter
__WanG18 小时前
如何申请 Family Controls 权限
ios·swiftui·权限·应用时间管理
爸爸61918 小时前
Flutter跨平台开发:Fullscreen 在鸿蒙系统上的使用指南
flutter·华为·harmonyos
2501_9466756421 小时前
Flutter与OpenHarmony打卡动画效果组件
运维·nginx·flutter
2501_946675641 天前
Flutter与OpenHarmony打卡图标选择器组件
flutter
花开彼岸天~1 天前
Flutter跨平台开发:Books 在鸿蒙系统上的使用指南
flutter·华为·harmonyos
爸爸6191 天前
Flutter跨平台开发:Multiple Flutters 在鸿蒙系统上的使用指南
flutter·华为·harmonyos