浅谈Android嵌入式状态栏的开发

最近在开发项目时,项目中就是用到了嵌入式的状态栏,目前样式的UI已经不是新鲜的东西了,在饿了么,拼多多等一些大流量的app中也是早就开始使用,所以也是时候要了解学习一下嵌入式状态栏的开发了,本篇文章就解析一下如何开发一个嵌入式状态栏

先看一下预期的效果,饿了么的一个截图

浅谈Android嵌入式状态栏的开发

首先我们要明白,一个新创建的项目,都拥有那些系统元素,首先是一个状态栏,是属于系统的UI布局,然后是一个导航栏属于app内部的一个组件

想要得到一个饿了么样式的嵌入式的状态栏,首先我们需要让状态栏处于一个透明的状态,让下层的UI可以顶上去作为状态栏的背景,首先调用getWindow().getDecorView()方法获取当前界面的DecorView对象,然后调用他的setSytemUiVisibility()来设置状态栏的一个可见性,SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 和SYSTEM_UI_FLAG_LAYOUT_STABLE两个flag一定要一起使用才能够让下层ui布局顶上去,处于状态栏的下面,然后再调用Window的setStatusBarColor方法,将状态栏颜色设为透明,就可以了,状态栏已经准备好了,剩下的就是导航栏的隐藏了ActionBar的hide()方法就能够,将其隐藏,值得注意的是,嵌入式状态栏效果只有5.0系统以上才支持,所以一定要加入对系统版本的判断,代码如下图

浅谈Android嵌入式状态栏的开发浅谈Android嵌入式状态栏的开发

以上就完成了嵌入式状态栏的开发,看一下最后的样子

浅谈Android嵌入式状态栏的开发