如何使状态栏透明,文本颜色为灰色?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使状态栏透明,文本颜色为灰色?相关的知识,希望对你有一定的参考价值。

我试图使状态栏完全透明,我成功了,但问题是背景是白色的,这使状态栏文本和图标不可读!所以我想让它变成深灰色。


这使状态栏透明并保持导航按钮可见。

 if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) {
          Window w = getWindow();
          w.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
          if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
            w.setStatusBarColor(Color.TRANSPARENT);
          }
        }

这应该使状态栏文本和图标变灰,但它没有,因为上面的代码阻止它..!我想实现两者!

<item name="android:windowLightStatusBar">true</item>
答案

尝试将此添加到您的应用程序中

<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>

然后尝试将此添加到onCreate()

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            Window w = getWindow();
            w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
        }

以上是关于如何使状态栏透明,文本颜色为灰色?的主要内容,如果未能解决你的问题,请参考以下文章