沉浸式状态栏/华为虚拟按键隐藏

19版本以上Android可以自己实现沉浸式状态栏的设置

1、创建values-v21文件夹(为了匹配低版本)
在style文件中设置:


沉浸式状态栏/华为虚拟按键隐藏_第1张图片

设置了这两个属性状态栏就能设置为透明的。但是需要注意的是,这个设置不止可以改变状态栏,也能设置Navigation也就是底部的虚拟按键。如果界面底部有按钮的话会被虚拟按键遮挡住,要解决这个问题有多种途径:
  1、在布局的根节点设置android:fitsSystemWindows="true"
设置该属性后布局会自动根据底部虚拟按键高度进行适配,但是顶部的状态栏颜色不是完全的透明色。
  2、隐藏底部虚拟按键
进入界面后隐藏虚拟按键,点击屏幕后会显示两秒钟然后消失
测试机型:华为/7.0


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);

}

}

你可能感兴趣的:(沉浸式状态栏/华为虚拟按键隐藏)