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

时间:2018-03-04 17:37:04

标签: java android user-interface android-activity statusbar

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

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

 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>

1 个答案:

答案 0 :(得分:0)

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

<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);
        }