0
点赞
收藏
分享

微信扫一扫

android 隐藏底部虚拟按键


 

方法一 滑动屏幕 可重新显示出来

protected void hideBottomUIMenu() {
   //隐藏虚拟按键,并且全屏
   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();
     int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
         | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
     decorView.setSystemUiVisibility(uiOptions);
  
   }
 }

方法二 滑动也不能重新显示

protected void hideBottomUIMenu() {
   //隐藏虚拟按键,并且全屏
   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) {
     
     Window _window = getWindow();
     WindowManager.LayoutParams params = _window.getAttributes();
     params.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION|View.SYSTEM_UI_FLAG_IMMERSIVE;
     _window.setAttributes(params);
   }
 }

隐藏状态栏(让状态栏直接消失,不占位)

public static void hideStatusBar(Activity activity) {
         if (activity == null) return;
         Window window = activity.getWindow();
         if (window == null) return;
         window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                 WindowManager.LayoutParams.FLAG_FULLSCREEN);
         window.getDecorView()
                 .setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
         WindowManager.LayoutParams lp = window.getAttributes();
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
             lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
         }
         window.setAttributes(lp);
     }

如果activity的layout xml根标签设置了以下代码,需要移除,否者内容底部还是会存在预留个底部虚拟按键的padding

android:fitsSystemWindows="true"
  
 android:clipToPadding="false"

举报

相关推荐

0 条评论