本课程介绍如何隐藏Android 4.0(API级别14)中引入的导航栏。

尽管本课程重点介绍隐藏导航栏,但您应该将应用程序设计为同时隐藏状态栏,如隐藏状态栏中所述。隐藏导航和状态栏(同时仍然可以随时访问它们)使内容使用整个显示空间,从而提供更加身临其境的用户体验。

图1.导航栏。

隐藏导航栏


您可以使用SYSTEM_UI_FLAG_HIDE_NAVIGATION标志隐藏导航栏 。此代码段隐藏了导航栏和状态栏:

View decorView = getWindow().getDecorView();
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);

请注意以下事项:

使用此方法,触摸屏幕上的任何位置都会导致导航栏(和状态栏)重新出现并保持可见状态。用户交互导致标志被清除。
清除标志后,如果要再次隐藏栏,则应用程序需要重置它们。有关如何监听UI可见性更改的讨论,请参阅响应UI可见性更改,以便您的应用可以相应地做出响应。
你设置UI标志的地方有所不同。如果您在活动的onCreate()方法中隐藏系统栏 并且用户按下Home,系统栏将重新出现。当用户重新打开活动时,onCreate() 将不会被调用,因此系统栏将保持可见。如果您希望系统UI更改在用户导入和导出活动时保持不变,请在onResume() 或中设置UI标记 onWindowFocusChanged()。
setSystemUiVisibility()只有在您调用它的视图可见时,该方法才有效。
导航远离视图会导致标记设置setSystemUiVisibility() 被清除。

使内容出现在导航栏后面


在Android 4.1及更高版本中,您可以将应用程序的内容设置为显示在导航栏后面,以便在导航栏隐藏和显示时不会调整内容的大小。为此,请使用 SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION。您可能还需要使用它 SYSTEM_UI_FLAG_LAYOUT_STABLE来帮助您的应用程序保持稳定的布局。

当您使用这种方法时,您有责任确保应用程序UI的关键部分最终不会被系统栏覆盖。有关此主题的更多讨论,请参阅 隐藏状态栏课程。

联系我

QQ:94297366
微信打赏:https://pan.baidu.com/s/1dSBXk3eFZu3mAMkw3xu9KQ

公众号推荐:

转载于:https://blog.51cto.com/4789781/2163688

【Interfacenavigation】隐藏导航栏(52)相关推荐

  1. 【仿去哪儿】滑动隐藏导航栏

    仿照去哪儿,隐藏导航栏(其实是设置为透明背景):向下滑动到时,当顶部图片看不见时,显示导航栏,源代码下载,效果如下: 主要思想:就是监听UITableView的滑动事件,当UITableView滑动一 ...

  2. iOS 隐藏导航栏整个视图上移闪屏问题

    2019独角兽企业重金招聘Python工程师标准>>> 在iOS开发中,特别是一些首页展示上要去掉导航栏(UINavigationBar). 最简单的办法在- (void)viewW ...

  3. 全面屏适配方案,终极版,华为隐藏导航栏解决方案

    全面屏适配方案,终极版,华为隐藏导航栏解决方案 参考文章: (1)全面屏适配方案,终极版,华为隐藏导航栏解决方案 (2)https://www.cnblogs.com/lizhanqi/p/93371 ...

  4. 去除导航栏的背景色和底部1像素黑色线条or隐藏导航栏

    一般项目我们都用创建一个公用的导航控制器,然后定义我们所需要的一些按钮啊 样式啊 等 - (void)pushViewController:(UIViewController *)viewContro ...

  5. 全志 强制隐藏导航栏状态栏 Patch

    modify 隐藏导航栏状态栏diff --git a/android/frameworks/base/core/res/res/values/dimens.xml b/android/framewo ...

  6. 隐藏导航栏或返回按钮

    1 - (void)viewWillAppear:(BOOL)animated 2 { 3 [super viewWillAppear:animated]; 4 [self.navigationCon ...

  7. 19款探岳刷隐藏教程_三星S10系列如何隐藏导航栏 官微“手把手”教你设置

    三星于2月28日在乌镇正式发布国行版三星S10系列手机,无论是出色的外观设计,还是超强的性能,亦或是优秀的三摄成像,无不受到消费者的喜爱.但是,有消费者在使用三星S10系列搭载的One UI时却遇到了 ...

  8. Android9.0 完全隐藏导航栏、状态栏

    需求:自定义界面全屏显示,隐藏导航栏,状态栏 按照google的官方办法,设置如下几个Flag就可以隐藏导航栏: View decorView = getWindow().getDecorView() ...

  9. 微信h5隐藏导航栏和状态栏_导航栏未在SwiftUI中隐藏

    微信h5隐藏导航栏和状态栏 TL;DR: If you can't tap on buttons in the navigation-bar area, you can jump directly t ...

  10. MTK隐藏导航栏,去掉下拉,永不锁屏,永不灭屏

    MTK隐藏导航栏 修改全局属性, 有兴趣的可以全局搜索这个属性,在systemui以及framework中好像都有写 qemu.hw.mainkeys=1 MTK去掉下拉通知 这里去掉添加的view, ...

最新文章

  1. BAT集体告别中台上半场!接下来,中台怎么玩?
  2. linux桌面lxde 安装_Ubuntu 18.04下安装Lxde轻量桌面系统和VNC服务器
  3. 开灯问题 简单模拟法
  4. JVM 内存模型:方法区(Method Area)
  5. Linux提高工作效率的命令
  6. 三大公有云托管 Kubernetes 服务 (EKS、GKE、AKS) 评估
  7. matlab2c使用c++实现matlab函数系列教程-rank函数
  8. 计算机房通气换气次数,各种换气次数汇总
  9. Linux常用编程工具
  10. 职称评审需要满足的条件
  11. Java 并发编程:轻量级锁和偏向锁详解
  12. word2019如何删除段落文字带颜色的背景
  13. 百度地图开发(一)----项目准备
  14. openlayers实现地图显示功能
  15. 数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】
  16. OpenCV显示中文字体
  17. 编写程序FooBizBaz.java,从1循环到150并且在每行打印一个值,另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”。
  18. Golang包管理工具(三)之dep的使用
  19. C/S,B/S与P2P架构
  20. c语言倍增算法,用倍增公式选股

热门文章

  1. Atitit 人工智能体系树培训列表应用较为广泛的技术.docx Atitit 人工智能体系培训列表 目录 1. 1.NLP自然语言处理文本处理 2 1.1. 语言理解 分词 2 1.2. 抽取
  2. Atiitt 使用java语言编写sql函数或存储过程
  3. atitit。win7 win8 win9 win10 win11 新特性总结与战略规划
  4. Atitit.软件仪表盘(7)--温度监测子系统--电脑重要部件温度与监控and警报
  5. paip. c++ 调用.net dll 最好方式powershell 使用总结.
  6. PAIP.MYSQL设置远程账户登陆总结
  7. 趋势 | 或许,这就是大佬吧!——美国ETF产业三巨头格局浅谈
  8. (转)《精通比特币》原码分析: select_utxo
  9. (转) hash 函数及其重要性
  10. 阿里云 Link ID² 标准项目获浙江省标准创新重大贡献奖