android – 状态栏透明度不起作用

前端之家收集整理的这篇文章主要介绍了android – 状态栏透明度不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用此代码在我的应用程序中使状态栏透明:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().setStatusBarColor(Color.TRANSPARENT);

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

解决方法

在styles.xml中尝试这个(v21)
<name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:windowTranslucentStatus">true</item>

更新

您可以通过设置此Window标志以编程方式在KitKat上实现相同的效果

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            Window w = getWindow(); // in Activity's onCreate() for instance
            w.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>

Source

猜你在找的Android相关文章