19版本以上Android可以自己实现沉浸式状态栏的设置
1、创建values-v21文件夹(为了匹配低版本)
在style文件中设置:
设置了这两个属性状态栏就能设置为透明的。但是需要注意的是,这个设置不止可以改变状态栏,也能设置Navigation也就是底部的虚拟按键。如果界面底部有按钮的话会被虚拟按键遮挡住,要解决这个问题有多种途径:
1、在布局的根节点设置android:fitsSystemWindows="true"
设置该属性后布局会自动根据底部虚拟按键高度进行适配,但是顶部的状态栏颜色不是完全的透明色。
2、隐藏底部虚拟按键
进入界面后隐藏虚拟按键,点击屏幕后会显示两秒钟然后消失
测试机型:华为/7.0
<pre><code>
protected voidhideBottomUIMenu() {
//隐藏虚拟按键,并且全屏
if(Build.VERSION.SDK_INT > 11&& Build.VERSION.SDK_INT < 19) {
// lower api
View v = this.getWindow().getDecorView();
v.setSystemUiVisibility(View.GONE);
}else if(Build.VERSION.SDK_INT >= 19) {
//for new api versions.
View decorView = getWindow().getDecorView();
intuiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
}
</code></pre>