繁体   English   中英

是否可以将状态栏图标颜色更改为白色? 还是有深色主题状态栏? (科特林)

[英]Is it possible to change status bar icon color to white? Or is there a dark theme status bar? (Kotlin)

在我的应用程序中,我将状态栏的背景颜色更改为黑色: window.statusBarColor = ContextCompat.getColor(this@MainActivity, R.color.black) (并且有效)。 但是现在,您看不到状态栏图标,是的:我听说过: window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR ,但这会将(状态栏的)背景设置为白色,并将状态栏图标设置为白色变灰。 有没有办法让状态栏图标变成白色,同时仍然有黑色背景? 还是状态栏有深色主题?

在您的主题中,将windowLightStatusBar设置为 false - 您还可以在主题中设置状态栏颜色:

<item name="android:statusBarColor">@color/black</item>
<item name="android:windowLightStatusBar">false</item>

或者,如果您想在不更改主题的情况下以编程方式更改它,则可以使用此代码段:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    if (darkIcons) {
        window.decorView.systemUiVisibility = window.decorView.windowSystemUiVisibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
    } else {
        window.decorView.systemUiVisibility = window.decorView.windowSystemUiVisibility and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv()
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM