You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码修改摄像头挖孔与应用切换器的背景颜色?

解决摄像头挖孔与应用切换器颜色异常问题

1. 修复挖孔区域背景色

显示工具栏时,系统会取消全屏标记,挖孔区域会露出窗口默认背景。直接把窗口背景设为黑色即可覆盖浅色异常:

window.setBackgroundDrawable(ColorDrawable(Color.BLACK))

2. 修正应用切换器(导航栏)颜色

应用切换器的背景由navigationBarColor控制,同时要确保图标适配深色背景:

// 设置导航栏为黑色
window.navigationBarColor = Color.BLACK
// 让导航栏图标显示为浅色,避免深色背景下看不见
ViewCompat.getWindowInsetsController(window.decorView)?.isAppearanceLightNavigationBars = false

3. 整合到你的显示工具栏逻辑里

把上述代码加到你现有显示工具栏的代码块中,完整示例:

val mDecorView = window.decorView
mDecorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)

WindowCompat.setDecorFitsSystemWindows(window, true)
val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView) ?: return
windowInsetsController.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
windowInsetsController.show(WindowInsetsCompat.Type.systemBars())
window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)

// 新增:处理挖孔和导航栏颜色
window.setBackgroundDrawable(ColorDrawable(Color.BLACK))
window.navigationBarColor = Color.BLACK
windowInsetsController.isAppearanceLightNavigationBars = false

4. 横屏额外适配

如果横屏下问题依旧,在配置变化回调里重新设置属性:

override fun onConfigurationChanged(newConfig: Configuration) {
    super.onConfigurationChanged(newConfig)
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        window.setBackgroundDrawable(ColorDrawable(Color.BLACK))
        window.navigationBarColor = Color.BLACK
        ViewCompat.getWindowInsetsController(window.decorView)?.isAppearanceLightNavigationBars = false
    }
}

原理说明

  • 隐藏控件时视频能覆盖挖孔,是因为FLAG_FULLSCREEN生效,系统让内容全屏填充,挖孔被视频遮挡;显示工具栏时这个标记被清除,挖孔区域会显示窗口背景,所以要手动设为黑色。
  • 你猜测的windowBackground和navigationBarColor确实是问题的核心,前者控制挖孔区域背景,后者控制应用切换器(导航栏)的背景色。

内容的提问来源于stack exchange,提问作者casolorz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:31:11