如何使状态栏变为白色,并带有黑色图标:Android 11?

如何使状态栏变为白色,并带有黑色图标:Android 11?,android,android-11,Android,Android 11,在使android状态栏具有黑色图标之前,您将使用以下代码 // Enables Dark Status Bar Icons// window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 使用android 11时,不推荐使用systemui可见性和View.SYSTEM\u UI\u FLAG\u LIGHT\u STATUS\u BAR 如何在android 11中实现相同的结果 谢谢这是一个非常复

在使android状态栏具有黑色图标之前,您将使用以下代码

// Enables Dark Status Bar Icons//
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
使用android 11时,不推荐使用
systemui可见性
View.SYSTEM\u UI\u FLAG\u LIGHT\u STATUS\u BAR

如何在android 11中实现相同的结果


谢谢

这是一个非常复杂的问题,但是您需要
WindowInsetController
。获取此控制器有多种方法。使用
window.insetcontroller
view.windowinsetcontroller
。在应用程序启动时,窗口版本似乎崩溃,因此在启动时,我现在执行
window.decorView.windowinsetsconner

如上所述,您可以如下方式显示或删除灯光状态栏:

setSystemBarsAppearance(APPEARANCE_LIGHT_STATUS_BARS, APPEARANCE_LIGHT_STATUS_BARS) //Show
setSystemBarsAppearance(0, APPEARANCE_LIGHT_STATUS_BARS) //Remove

谢谢你,我一直在寻找,从我发现的东西来看,整条线是window.insetcontroller?.setsysembarsapearance()@Jordan是的,不太清楚,我一直在寻找,直到找到为止。是的,这一行是正确的,尽管我在应用程序启动时使用这一行时遇到了一些问题。所以我自己也在使用这一行:
decorView.windowinsetsconner?.setSystemUnbarsapearance()
是的,如果你使用这一行,它需要包装在android R的API检查中。这可能就是原因。我一开始也有同样的问题,但这为我解决了它