Talk is cheap, show me the code.

--Linus Torvalds

Okay, here:

一、导航栏:

[java] view plain copy
  1. private void hideNavigationBar() {
  2. View decorView = getWindow().getDecorView();
  3. int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
  4. | View.SYSTEM_UI_FLAG_FULLSCREEN;
  5. decorView.setSystemUiVisibility(uiOptions);
  6. }
  7. private void showNavigationBar() {
  8. View decorView = getWindow().getDecorView();
  9. int uiOptions = View.SYSTEM_UI_FLAG_VISIBLE;
  10. decorView.setSystemUiVisibility(uiOptions);
  11. }

相关:

SYSTEM_UI_FLAG_VISIBLE——显示状态栏和导航栏

SYSTEM_UI_FLAG_LOW_PROFILE——此模式下,状态栏的图标可能是暗的

SYSTEM_UI_FLAG_HIDE_NAVIGATION——隐藏导航栏

SYSTEM_UI_FLAG_FULLSCREEN——全屏,隐藏状态栏和导航栏

SYSTEM_UI_FLAG_LAYOUT_STABLE

SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN——全屏,隐藏导航栏,状态栏浮在布局上。

SYSTEM_UI_FLAG_IMMERSIVE——沉浸式:半透明的状态栏和导航栏

SYSTEM_UI_FLAG_IMMERSIVE_STICKY——粘性沉浸式

二、状态栏:

[java] view plain copy
  1. private void setStatusBarVisible(boolean show) {
  2. if (show) {
  3. int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
  4. uiFlags |= 0x00001000;
  5. getWindow().getDecorView().setSystemUiVisibility(uiFlags);
  6. } else {
  7. int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
  8. | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
  9. | View.SYSTEM_UI_FLAG_FULLSCREEN;
  10. uiFlags |= 0x00001000;
  11. getWindow().getDecorView().setSystemUiVisibility(uiFlags);
  12. }
  13. }

三、导航栏和状态栏

[java] view plain copy
  1. private void setSystemUIVisible(boolean show) {
  2. if (show) {
  3. int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
  4. uiFlags |= 0x00001000;
  5. getWindow().getDecorView().setSystemUiVisibility(uiFlags);
  6. } else {
  7. int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
  8. | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
  9. | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
  10. | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
  11. | View.SYSTEM_UI_FLAG_FULLSCREEN;
  12. uiFlags |= 0x00001000;
  13. getWindow().getDecorView().setSystemUiVisibility(uiFlags);
  14. }
  15. }

Android 动态隐藏显示导航栏,状态栏的更多相关文章

  1. iOS 隐藏/显示导航栏

    一.隐藏导航栏 [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBa ...

  2. [置顶] xamarin android Fragment实现底部导航栏

    前段时间写了篇关于Fragment的文章,介绍了基础的概念,用静态和动态的方式加载Fragment  Xamarin Android Fragment的两种加载方式.下面的这个例子介绍xamarin ...

  3. iOS UITableView表视图滚动隐藏UINavigationController导航栏

    UITableView 继承于UIScrollView 所以UIScrollView 的代理方法相同适用于UITableView 中 隐藏导航栏的方法为: self.navigationControl ...

  4. uni-app动态修改顶部导航栏标题

    动态修改顶部导航栏标题有两种方法方式一.使用自定义到导航栏,覆盖原生导航栏 缺点:自定义到导航栏性能远远不如原生导航栏,手机顶部状态栏区域会被页面内容覆盖,这是因为窗体是沉浸式的原因,即全屏可写内容: ...

  5. 导航栏 & 状态栏覆盖

    当 automaticallyAdjustsScrollViewInsets 为 YES 时,也是默认行为,表现就比较正常了,和 edgesForExtendedLayout = UIRectEdge ...

  6. C#使用Windows API 隐藏/显示 任务栏 (FindWindowEx, ShowWindow)

    原文 C#使用Windows API 隐藏/显示 任务栏 (FindWindowEx, ShowWindow) 今天,有网友询问,如何显示和隐藏任务栏? 我这里,发布一下使用Windows API 显 ...

  7. 极简操作无需root隐藏S8导航栏和状态栏

    距离三星Galaxy S8国行发布快一个礼拜了,相信论坛不少小同伴已经拿到手,许多人和我一样被那块全视曲面屏给诱惑剁手的,当拿到手把玩一段时间后却發现这么美的一块屏幕居然大部分应用上下都有一行碍眼的状 ...

  8. iOS---实现简书和知乎的上滑隐藏导航栏下拉显示导航栏效果

    因为自己用简书和知乎比较多,所以对其导航栏的效果比较好奇,自己私下里找资料实现了一下.这个效果的关键点在于下方可供滑动的内容的便宜距离inset的改变,以及滑动的scrollview代理的执行,废话不 ...

  9. Android UI-仿微信底部导航栏布局

    现在App基本的标配除了侧滑菜单,还有一个就是底部导航栏,常见的聊天工具QQ,微信,购物App都有底部导航栏,用户可以随便切换看不同的内容,说是情怀也好,用户体验也罢.我们开发的主要的还是讲的是如何如 ...

随机推荐

  1. Slasher Flick-freecodecamp算法题目

    Slasher Flick(截断数组) 要求 返回一个数组被截断n个元素后还剩余的元素,截断从索引0开始. 思路 利用.splice(0,howMany)删除数组中索引从0开始的howMany个元素 ...

  2. new和delete的动态分配。

    c++对象模型 视频的实际操作  note: 1.虚函数有虚指针,所以是4,不管有几个虚函数, 都只有一个vptr来存放调用的虚函数的地址. 2.子类的内存是父类内存的加自己的数据内存. 3.clas ...

  3. 浅谈一类「AC自动机计数」问题

    最近写了几道AC自动机的题.这几题主要考察的是对AC自动机的浅层理解套上计数. 几道计数题 [AC自动机]bzoj3172: [Tjoi2013]单词 把被动贡献看成主动贡献. [状态压缩dp]119 ...

  4. [51nod] 1301 集合异或和

    考虑不限制xor{Y}>xor{X} 考虑n=m的情况,每个数i∈[1,n]可以被分配到X集合或Y集合,或不分配 设f[S]表示{X} xor {Y} == S的方案数 有f[S]+=2*f[S ...

  5. 一个form表单对应多个submit

    一个form表单多个submit 在平时项目开发过程中,经常会遇到一个form表单对应多个submit提交的情况,那么 ,这种情况应该怎么解决呢,也很简单,这时候就不能用submit来提交了,可以通过 ...

  6. Linux 用户管理(一)

    一.基础知识介绍 用户 用户组的概念 每个文件和进程,都需要对应一个用户和用户组 linux 系统通过UID和 GID识别用户和组 用户名相当于人名(给人看) UID和GID相当于身份证(系统用的) ...

  7. Buffered Channels and Worker Pools

    原文链接:https://golangbot.com/buffered-channels-worker-pools/ buffered channels 带有缓冲区的channel 只有在缓冲区满之后 ...

  8. GoF23种设计模式之行为型模式之中介者模式

    一.概述 使用一个中介对象来封装一系列的对象交互.中介者让各个对象无需显式地相互引用,从而达到解耦的效果.并且可以独立地改变它们之间的交互.二.适用性1.当一组对象以定义良好但复杂通信的时候.产生的相 ...

  9. LeetCode(164)Maximum Gap

    题目 Given an unsorted array, find the maximum difference between the successive elements in its sorte ...

  10. mongodb v2.4.9 快速操作记录

    参考链接:http://www.runoob.com/mongodb/mongodb-tutorial.html oschina链接:https://gitee.com/dhclly/icedog.s ...