android 隐藏状态栏和导航栏
16lz
2022-01-27
@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); NavigationBarStatusBar(this,hasFocus); } /** * 导航栏,状态栏隐藏 * @param activity */ public void NavigationBarStatusBar(Activity activity, boolean hasFocus){// if (hasFocus && Build.VERSION.SDK_INT >= 19) { //这个注释的能用,但是在多个页面需要隐藏导航栏时跳转会导致导航栏弹出// View decorView = activity.getWindow().getDecorView();// decorView.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);// } if (hasFocus && Build.VERSION.SDK_INT >= 19) { int flag = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; flag |= 0x00001000; View decorView = activity.getWindow().getDecorView(); decorView.setSystemUiVisibility( flag); } } /** * * @param activity 此方法可以实现隐藏导航栏,但是一旦点击屏幕,导航栏就会弹出,无法隐藏 * @param */ public void setNavigationBar(Activity activity,int visible){ View decorView = activity.getWindow().getDecorView(); //显示NavigationBar if (View.GONE == visible){ int option = SYSTEM_UI_FLAG_HIDE_NAVIGATION; decorView.setSystemUiVisibility(option); } }
这个方法时官方demo中给的,以前没注意,用起来也没有问题。比较简洁,在适当方法中调用即可
view 可以用getWindow().getDecorView()替代
view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
更多相关文章
- android中view组件使用详解
- Android(安卓)getWindow().setFlags方法
- 【Android】TabHost与RadioGroup结合完成的菜单
- Android(安卓)获取手机屏幕大小两种方法
- android隐藏显示软键盘
- android开关按钮,Switch,ToggleButton,RadioButton,CheckBox ,多种实
- Android(安卓)控制软键盘的显示与隐藏
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用