Android layout 如何将背景色设置为透明状态栏

Android layout 如何将背景色设置为透明状态栏,android-layout,colors,window,styles,statusbar,Android Layout,Colors,Window,Styles,Statusbar,是否可以通过编程方式更改透明状态栏的背景色 我已经使用以下代码将我的状态栏设置为透明,这样我也可以将导航抽屉放在状态栏中,而不会使状态栏与导航抽屉重叠 <item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:statusBarColor">@android:color/transparent</item> 但是状态栏上有一张难看的黑色

是否可以通过编程方式更改透明状态栏的背景色

我已经使用以下代码将我的状态栏设置为透明,这样我也可以将导航抽屉放在状态栏中,而不会使状态栏与导航抽屉重叠

<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
但是状态栏上有一张难看的黑色纸条,我不想要

是否有其他方法以编程方式对此进行归档?我需要能够在运行时更改颜色。对于每种颜色,也不能选择不同的样式,因为用户应该能够选择颜色

编辑:这就是我所说的使用
setStatusBarColor(int)更改导航抽屉颜色时,状态栏与导航抽屉重叠的意思。我仍然希望导航抽屉与状态栏重叠

用这种方法

// Check if the version of Android is Lollipop or higher
if (Build.VERSION.SDK_INT >= 21) {

    // Set the status bar to dark-semi-transparentish
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
            WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);


}
更新:

而不是

<item name="android:statusBarColor">@android:color/transparent</item>
@android:color/transparent
使用以下命令:

<item name="android:windowTranslucentStatus">true</item>
true
更新2:

styles.xml

 <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
 </style>
 <color name="colorPrimary">#0072BA</color>
 <color name="colorPrimaryDark">#004F80</color>
 <color name="colorAccent">#005D96</color>

假的
真的
真的
@android:彩色/透明
colors.xml

 <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
 </style>
 <color name="colorPrimary">#0072BA</color>
 <color name="colorPrimaryDark">#004F80</color>
 <color name="colorAccent">#005D96</color>
#0072BA
#004F80
#005D96
输出:

无抽屉

带抽屉


您已经将颜色设置为透明,因此无法在透明条上设置其他颜色。@Onkarne但没有办法更改透明度下方的颜色吗?设置primaryDark也会更改它,因此即使它是透明的,也必须有一种方法来更改它。不幸的是,这会在状态栏顶部留下一个黑色的scrim,这不是我想要的。颜色看起来比它应该的颜色要深,因为android在使用
WindowManager.LayoutParams.FLAG\u transparent\u STATUS
时会在其顶部应用深色。另外,我在问题中写道,我已经尝试过了,但没有效果。同样,这会在状态栏上留下一个黑色的纸条,使我的颜色看起来比它应该的颜色更暗。现在如何在不修改xml的情况下更改状态栏的颜色?我想以编程方式设置状态栏的背景颜色,它应该像图片上一样,上面没有任何黑色的纸条,也没有与导航抽屉重叠。