禁用虚拟按键:
//权限
<uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
<uses-permission android:name="android.permission.STATUS_BAR" />
StatusBarManager statusBarManager = (StatusBarManager) getSystemService("statusbar");
int flag =StatusBarManager.DISABLE_HOME|StatusBarManager.DISABLE_BACK|StatusBarManager.DISABLE_SEARCH|StatusBarManager.DISABLE_RECENT;
statusBarManager.disable(flag);
解除禁用:
StatusBarManager statusBarManager = (StatusBarManager) getSystemService("statusbar");
int flag =StatusBarManager.DISABLE_NONE;
statusBarManager.disable(flag);
该禁用方法可以效果,返回键 home键 recent键不展示,但是会有存留暗灰色背景条,手指滑动上拉不会再次出现虚拟按键。
补充activity全屏沉浸式:
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
activity.window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); activity.window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE) activity.window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); activity.window.setStatusBarColor(Color.TRANSPARENT);