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