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

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

 

//透明状态栏
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)

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



posted @ 2017-03-21 14:37  weiren123123  阅读(1234)  评论(0编辑  收藏  举报