Android 15+之后Edge模式状态栏显示问题

Android 15+ 强制 edge-to-edge 模式, statusBarColor 被忽略,状态栏变透明。但状态栏图标颜色(白/黑)没有根据主题自动切换,导致浅色主题下白色图标在浅色背景上不可见。

修复方案:

在 ThemeManager.kt 新增 applyStatusBarIconAppearance 函数,使用 WindowInsetsControllerCompat (非弃用 API)控制状态栏图标外观:

  • 浅色主题 → isAppearanceLightStatusBars = true (深色图标,在浅色背景上可见)
  • 深色主题 → isAppearanceLightStatusBars = false (浅色图标,在深色背景上可见)

为什么很多应用都有这个问题: Android 15 之前, statusBarColor 可以设置状态栏背景色,开发者通常设为深色并配白色图标。Android 15+ 忽略此设置后,状态栏变透明,白色图标在浅色背景上就看不见了。修复方法统一为使用 WindowInsetsControllerCompat.isAppearanceLightStatusBars 根据主题切换图标颜色。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

 桂ICP备15001694号-3