@RequiresApi(api = Build.VERSION_CODES.KITKAT) protected void hideBottomUIMenu() { //隐藏虚拟按键,并且全屏 if (Build.VERSION.SDK_INT < 19) { // lower api View v = this.getWindow().getDecorView(); v.setSystemUiVisibility(View.GONE); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; v.setSystemUiVisibility(uiOptions); } else { //for new api versions. View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; decorView.setSystemUiVisibility(uiOptions); } }
隐藏虚拟按键后手势下拉会出现状态栏和虚拟按键,过几秒又会自动隐藏
初始化时调用,onResume调用,或有其他手势操作后也需要调用此方法重新隐藏状态栏
@Override public void initializeComposition() { requestWindowFeature(Window.FEATURE_NO_TITLE);
hideBottomUIMenu();
setContentView(R.layout.main_activity);
}
@Override protected void onResume() { hideBottomUIMenu(); super.onResume(); }