状态栏图标在 Android 中以状态栏白色隐藏

问题描述

我正在使用下面给出的代码片段:

 <style name="AppTheme.NoActionBar.HomeScreen" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="android:textViewStyle">@style/default_font</item>
            <item name="android:windowLightStatusBar">true</item>
            <item name="colorPrimaryDark">@android:color/white</item>
            <item name="colorAccent">@android:color/white</item> 

它将状态栏的颜色更改为白色,但不会将图标(wifi、网络等)颜色更改为黑色。

我找到了一个解决方案:

getwindow().getDecorView().setsystemUIVisibility(View.SYstem_UI_FLAG_LIGHT_STATUS_BAR);

但它在 android 11 中折旧了。

任何人都可以帮助以编程方式将状态栏颜色更改为白色并将图标更改为黑色。

解决方法

在科特林

requireActivity().window.apply {
            clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
            addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
            decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
            statusBarColor = Color.WHITE
        }