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 根据主题切换图标颜色。