使用了沉浸式状态栏可以让应用给人浑然天成的感觉,是比较好的用户体验,从android 4.4 版本后才能使用城近视状态栏,具体表现是,4.4上是渐变色,5.0以后是全透明。
效果如下:
效果还是挺好的,那么怎么实现的呢?
很简单,就几行代码就能搞定。
我们只需要在基类BaseActivity的onCreate()方法中这样写:
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.KITKAT) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);//透明底部导航栏
}
然后新建的Activity继承BaseActivity就行了。
注意:布局文件里不能使用android:fitsSystemWindows="true",否则,状态栏会出现黑块。
但是如果你使用的是华为手机或者谷歌亲儿子Nexus及pixel,那么你会发现一个问题,就是底部三个虚拟按钮被无情的遮挡了,像这样:
WHT?那怎吗解决呢,很简单,因为我们再实现沉浸式的时候多写了一句话,
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);//透明底部导航栏
就是这一句话了,这里我们把这句话去掉就会恢复正常了。