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

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

相关推荐
鸣弦artha1 小时前
Flutter 框架跨平台鸿蒙开发 —— Image Widget 占位符技术
flutter·华为·harmonyos
消失的旧时光-19431 小时前
Android 接入 Flutter(Add-to-App)最小闭环:10 分钟跑起第一个混合页面
android·flutter
Zender Han2 小时前
Flutter Android 启动页 & App 图标替换(不使用任何插件的完整实践)
android·flutter·ios
世人万千丶2 小时前
鸿蒙跨端框架Flutter学习day 2、常用UI组件-层叠布局 Stack & Positioned
学习·flutter·ui·实时互动·harmonyos·鸿蒙
—Qeyser5 小时前
Flutter CustomScrollView 自定义滚动视图 - 完全指南
android·flutter·ios
奋斗的小青年!!6 小时前
Flutter在OpenHarmony上实现渐变文字动画的深度优化实践
前端·flutter·harmonyos·鸿蒙
鸣弦artha6 小时前
Flutter 框架跨平台鸿蒙开发 —— Image Widget 图片处理:圆角、裁剪、阴影
android·flutter·harmonyos
—Qeyser6 小时前
Flutter ListView 列表组件完全指南
android·flutter·ios
南村群童欺我老无力.6 小时前
Flutter 框架跨平台鸿蒙开发 - 从零打造一款精美天气App
flutter·华为·harmonyos
m0_748254666 小时前
Vue.js 模板语法基础
前端·vue.js·flutter