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

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

相关推荐
denggun1234532 分钟前
ios开发逆向安全防抓包
安全·ios
kirk_wang7 小时前
Flutter file_selector 库在鸿蒙(OHOS)平台的适配实践与深度解析
flutter·移动开发·跨平台·arkts·鸿蒙
进击的前栈9 小时前
Flutter跨平台滚动视图scrollview_demo鸿蒙化使用指南
flutter·华为·harmonyos
w1395485642210 小时前
Flutter跨平台路径解析鸿蒙化使用指南
flutter·华为·harmonyos
爸爸61910 小时前
Flutter UDID 在鸿蒙平台的使用指南
flutter·华为·harmonyos
纟 冬11 小时前
# Flutter & OpenHarmony 运动App运动勋章成就组件开发
flutter
进击的前栈12 小时前
Flutter跨平台聊天组件testchat鸿蒙化使用指南
flutter·华为·harmonyos
花开彼岸天~12 小时前
Flutter跨平台图片加载鸿蒙化性能调优指南
flutter·华为·harmonyos
2501_9462338913 小时前
Flutter与OpenHarmony帖子详情页面开发
android·java·flutter
Digitally13 小时前
如何在Windows 10 PC上获取 iPhone短信
ios·iphone