沉浸式导航栏及状态栏系统图标颜色的改变

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了沉浸式导航栏及状态栏系统图标颜色的改变相关的知识,希望对你有一定的参考价值。

最近研究沉浸式导航栏,上网看了好多,差不多实现都是一样的。。。。代码如下:

 

//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);


没有判断版本 需要的自己配置。。。。

不过这样又有新的问题 1:如果有文字内容 内容会与状态栏的图标重叠
解决办法
:在布局的跟标签添加 以下代码:

android:fitsSystemWindows="true"
android:clipToPadding="true"

重叠问题解决了,又有新的问题 2:如果当前页面背景是白色的 那么我们的状态栏图标就看不见了
解决办法:在网上找了好久,找到一个可以修改状态栏图标颜色的博客
实现如下:
在项目的build.gradle
中声明以下依赖:
compile ‘com.githang:status-bar-compat:0.3‘

 在你的Activity中(最好是setContentView()被调用之后)添加以下代码:

    StatusBarCompat.setStatusBarColor(this, color, lightStatusBar);
color:需要设置的图标颜色 lightStatusBar:boolean (if the status bar color is light. Only effective when API >= 23)

自此沉浸式导航栏实现。。。。。。
 
 



以上是关于沉浸式导航栏及状态栏系统图标颜色的改变的主要内容,如果未能解决你的问题,请参考以下文章

android -------- 沉浸式状态栏ImmersionBar3.0

android -------- 沉浸式状态栏ImmersionBar3.0

android -------- 沉浸式状态栏ImmersionBar3.0

android -------- 沉浸式状态栏ImmersionBar3.0

Android 沉浸式状态栏及悬浮效果

沉浸式状态栏与导航条