Android全屏处理

Android需要全屏显示界面的时候,我们需要对状态栏、标题栏、虚拟键进行处理。

隐藏标题栏
  this.requestWindowFeature(Window.FEATURE_NO_TITLE);
隐藏状态栏
   this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                             WindowManager.LayoutParams.FLAG_FULLSCREEN);
沉浸式模式
    if (Build.VERSION.SDK_INT >= 21) {
        View decorView = getWindow().getDecorView();
        decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE //表示会让应用的主体内容占用系统状态栏的空间
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);//表示会让应用的主体内容占用系统导航栏的空间
        getWindow().setStatusBarColor(Color.TRANSPARENT);
        getWindow().setNavigationBarColor(Color.TRANSPARENT);
    }
    getSupportActionBar().hide();
隐藏状态栏,并且根据滑动显示状态栏
@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
   if (hasFocus && Build.VERSION.SDK_INT >= 19) {
        getWindow().getDecorView().setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);}
}

你可能感兴趣的:(Android全屏处理)