感谢作者:https://juejin.im/post/5d5ce681e51d45620821cec6

1、首先设置全屏显示

2、然后全屏并隐藏虚拟导航栏。设置导航栏状态监听,避免点击一下后导航栏又出现了。

        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);final View decorView = getWindow().getDecorView();final int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;decorView.setSystemUiVisibility(uiOptions);decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {@Overridepublic void onSystemUiVisibilityChange(int i) {if ((i & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {decorView.setSystemUiVisibility(uiOptions);} else {}}});

BUT!如果弹出了一个Dialog,导航栏会再次出现,这并不是我们想要的效果。

SO!在Dialog中:

我们需要在Dialog的show方法中加一下东西。为啥要在show中加,因为加在onStart方法中,导航栏会闪一下。

    @Overridepublic void show() {getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);//不加这一行,虚拟键会再出现,再消失super.show();int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_FULLSCREEN;getWindow().getDecorView().setSystemUiVisibility(uiOptions);getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);}

android 隐藏导航栏 虚拟键相关推荐

  1. android 隐藏导航栏recent键,Android 去掉导航栏的HOME和RECENT_APP,只保留BACK

    1.修改以下三个文件中home和recent_app的visibility属性为gone: frameworks/base/packages/SystemUI/res/layout-ldrtl/nav ...

  2. Android 隐藏导航栏

    因为项目需要, 要实现屏幕全屏,隐藏虚拟按键,即导航栏  SYSTEM_UI_FLAG_LOW_PROFILE 相当于隐藏导航栏  SYSTEM_UI_FLAG_VISIBLE         导航栏 ...

  3. Android隐藏导航栏按键,Android如何控制导航栏单个按键的显隐状态

    我们都知道Android系统的导航栏通常有三个按键,分别是BACK, HOME, APP_SWITCH. 网上很多有关导航栏和状态栏显隐的文章,但几乎都是控制导航栏或状态栏所有按键同时显示或消失,如果 ...

  4. android 虚拟按键挡住布局,Android 关于导航栏(虚拟按键)遮挡PopupWindow底部布局的问题...

    我们自定义popupWindow的时候,一般会设置这些参数 setContentView(contentView); //设置高度为屏幕高度 setWidth(UIUtils.getScreenHei ...

  5. android软键盘和导航栏冲突,Android隐藏导航栏/保持沉浸式模式与软键盘外观

    我想出了一个解决方法,检查每个内部的导航栏的状态,尝试隐藏它,并再次检查(再次). 这是一些代码,确保在软键盘关闭后的2秒内导航栏被隐藏. private final Runnable checkSy ...

  6. android如何预留导航键空间,Android 下面导航栏虚拟按键位置调整

    Windows系统 cmd里安装adb 将手机用数据线连接电脑 在cmd里输入 adb shell 出现 $或# 后 如果想左边是多任务,右边是返回键,就输入 settings put secure ...

  7. Android M App 永久隐藏导航栏的Solution

    做项目,客户要求在App 中隐藏导航栏.这个比较简单,网上资料一大把. 现做下笔记. Android 隐藏导航栏, 有好几种办法: 1)修改系统级代码,使系统具有隐藏导航栏的功能: 这种实现方法可以参 ...

  8. dismiss ios pop效果_iOS正确解决隐藏导航栏后push和pop或dismiss和present闪黑问题

    情景: 一级页面不显示导航栏 ,二级页面显示导航栏. 方法一 适用于push/pop: 一级页面中 - (void)viewWillAppear:(BOOL)animated { [super vie ...

  9. Android导航栏自动隐藏,Android隐藏和显示虚拟导航栏

    隐藏导航栏 /** * 隐藏虚拟按键,并且全屏 */ public static void hideBottomNav(Activity activity) { View decorView = ac ...

最新文章

  1. 浅谈机器学习的职业发展方向
  2. 菜单之二:使用xml文件定义菜单
  3. Android导入第三方静态库.a编译成动态库.so
  4. matlab执行m文件语句,matlab 编写m文件函数
  5. 用c++编程六子棋游戏
  6. 手把手教你如何用PhotoShop制作gif动画
  7. 子网划分,掩码转换计算
  8. scala reduce和Fold
  9. 【程序员如何买基金 六】买卖指数基金的合适时机
  10. 软件开发中的思维僵化
  11. ASM和AAM的一些代码资源
  12. ubuntu安装Kubernetes1.20.0
  13. CF1578F Framing Pictures 旋转卡壳+积分
  14. 启英泰伦CI-C22GS02(ci1122)单麦离线智能语音模块制作声控小台灯
  15. HBuilderX的下载和安装和使用
  16. u盘重装win10系统
  17. 利用AppInventor读取天气预报接口(完整版)
  18. 资料(http://blog.csdn.net/bogues/archive/2005/11/22/534982.aspx)
  19. 肉羊智能养殖系统主要功能
  20. 巧用WPS Office 2012设置表格下拉列表

热门文章

  1. C语言中extern关键字的使用
  2. Android实现电蚊香/Service服务管理类
  3. Android开发--Spinner控件的使用
  4. VC维的来龙去脉(转)
  5. Linux内核--各种宏定义
  6. 端口复用及其实现分析[Google Patch]
  7. 2021邹城高考成绩查询,@邹城考生 2021高考时间、考场分布图来啦!
  8. 手把手教你搭建Linux开发环境(VMware+Ubuntu)(四)——gcc编译器的安装和使用
  9. 滴答定时器的计数模式_SysTick(系统滴答定时器)
  10. protoc-3.2.0-win32转java文件