如何让状态栏透明,文字颜色为灰色?

Posted

技术标签:

【中文标题】如何让状态栏透明,文字颜色为灰色?【英文标题】:How to make the status bar transparent and the text color is grey? 【发布时间】:2018-08-12 09:22:43 【问题描述】:

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


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

 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】:

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

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

【讨论】:

上面的代码使底部导航按钮成为视图的一部分,这就是为什么我必须在我的问题中使用代码来防止这种情况发生。见图片image.ibb.co/ihf8YS/device_2018_03_05_225258.png

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

无法将状态栏颜色更改为半透明黑色 [重复]

android导航栏与状态栏颜色及透明度

Android修改状态栏颜色全方位教程

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

android沉浸式状态栏变色状态栏透明状态栏修改状态栏颜色及透明

安卓状态栏文字颜色修改