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

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

相关推荐
ujainu13 小时前
Flutter + HarmonyOS开发:轻松实现ArkTS页面跳转
人工智能·python·flutter
_大学牲13 小时前
听说你毕业很多年了?那么来做题吧🦶
flutter·ios·app
neuHenry13 小时前
探索 Flutter 事件机制
flutter
程序员老刘13 小时前
Flutter凉不了:它是Google年入3000亿美元的胶水
flutter·google·客户端
明君8799714 小时前
Flutter横向树形选择器实现方案
android·ios
CrazyQ114 小时前
flutter_easy_refresh在3.38.3配合NestedScrollView的注意要点。
android·flutter·dart
爱吃大芒果15 小时前
从零开始学 Flutter:状态管理入门之 setState 与 Provider
开发语言·javascript·flutter
无痕melody15 小时前
苹果ios手机ipad安装配置ish终端shell工具
ios·智能手机·ipad
庄雨山15 小时前
Flutter+开源鸿蒙实战:cached_network_image 图片加载体验优化全指南
flutter·openharmonyos
mike102317 小时前
swiftUI状态管理
ios·swiftui