Android 状态栏透明度不为';行不通

Android 状态栏透明度不为';行不通,android,android-5.0-lollipop,android-statusbar,Android,Android 5.0 Lollipop,Android Statusbar,我正在尝试使用以下代码使应用程序中的状态栏透明: getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().setStatusBarColor(Color.TRANSPARENT); 但它不起作用。状态栏只是改变

我正在尝试使用以下代码使应用程序中的状态栏透明:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().setStatusBarColor(Color.TRANSPARENT);

但它不起作用。状态栏只是改变了颜色,变成了灰色,不是透明的。我的错在哪里?如何使状态栏透明?

styles.xml(v21)

如果将背景资源(如颜色或图片)设置为布局,您将在状态栏的“下方”看到颜色或图片

<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@color/primary_dark</item>
true
@颜色/原色/深色

尝试从onCreate调用此命令:

getWindow().getDecorView().setSystemUiVisibility(
    View.SYSTEM_UI_FLAG_LAYOUT_STABLE
    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

getWindow().setStatusBarColor(Color.TRANSPARENT);

正在设备+19上进行测试?使用这个解决方案的最终结果是什么?是的,Nexus5和Android 5.1.1。状态栏变为灰色,但不透明。带有
getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)它可以工作。非常感谢。那些旗帜不起作用的原因是什么?有什么想法吗?相同的结果:状态栏变成灰色,但不透明。您可以查看我以前的一个答案:
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@color/primary_dark</item>
getWindow().getDecorView().setSystemUiVisibility(
    View.SYSTEM_UI_FLAG_LAYOUT_STABLE
    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

getWindow().setStatusBarColor(Color.TRANSPARENT);