爱奇艺将整个屏幕作为影视的展示区,用户在看电影的时候眼中就只会有电影的内容,这样就不会被其他一些无关的东西所分心。
这才是沉浸式模式的真正含义,而所谓的什么沉浸式状态栏纯粹就是在瞎叫,完全都没搞懂“沉浸式” 这三个字是什么意思
过于老的系统根本就没有提供沉浸式体验的支持,安卓4.1之后才支持沉浸式的效果!!!
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
    mScrollView.setScrollViewListener(this);
    initListeners();
    //透明导航栏
    if (Build.VERSION.SDK_INT >= 21) {
        View decorView = getWindow().getDecorView();
        int option = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
        decorView.setSystemUiVisibility(option);
        getWindow().setNavigationBarColor(Color.TRANSPARENT);
        getWindow().setStatusBarColor(Color.TRANSPARENT);
    }
    ActionBar actionBar = getSupportActionBar();
    actionBar.hide();

}

这里使用了SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION,

表示会让应用的主体内容占用系统导航栏的空间,然后又调用了setNavigationBarColor()方法将导航栏设置成透明色

效果是这样的

然而真正的沉浸式是这样的

当你确定要使用沉浸式模式,

那么只需要重写Activity的onWindowFocusChanged()方法,
然后加入如下逻辑即可:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus && Build.VERSION.SDK_INT >= 19) {
        View decorView = 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);
    }
}

界面默认情况下是全屏的,状态栏和导航栏都不会显示。

而当我们需要用到状态栏或导航栏时,只需要在屏幕顶部向下拉,

或者在屏幕右侧向左拉,

状态栏和导航栏就会显示出来,此时界面上任何元素的显示或大小都不会受影响。

过一段时间后如果没有任何操作,状态栏和导航栏又会自动隐藏起来,

重新回到全屏状态。

这就是最标准的沉浸式模式。

android沉浸式的实现相关推荐

  1. Android沉浸式模式状态栏(二)

    其实说到沉浸式状态栏这个名字,真不知道这种叫法是谁先发起的.因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法.而有些人在没有完全了解清 ...

  2. 高大上的Android沉浸式状态栏?

    背景 之前做过Android沉浸式状态栏的相关需求,但是一直忙于工作,没时间系统的整理下沉浸式相关的知识,所以今天抽出时间,写一篇 Android沉浸式状态栏的文章. 何为沉浸式 沉浸式就是要给用户提 ...

  3. Android 沉浸式状态栏 实现方式二 ( 更简单 )

    以前写过一个沉浸式状态栏 的实现方式 Android 沉浸式状态栏 实现方式一 现在有个更为简单的实现方式 . 相关链接 http://www.apkbus.com/forum.php?mod=vie ...

  4. android 5.0状态栏下载地址,Android沉浸式状态栏(5.0以上系统)

    Android沉浸式状态栏(5.0以上系统) 沉浸式状态栏可以分为两种: 1.直接给状态栏设置颜色 (如下图:) 这里写图片描述 java代码形式: if (Build.VERSION.SDK_INT ...

  5. Android 沉浸式状态栏完美解决方案

    Android 沉浸式状态栏完美解决方案 参考文章: (1)Android 沉浸式状态栏完美解决方案 (2)https://www.cnblogs.com/dingxiansen/p/9929828. ...

  6. 史上最完美的Android沉浸式状态导航栏攻略

    前言 最近我在小破站开发一款新App,叫高能链.我是一个完美主义者,所以不管对架构还是UI,我都是比较抠细节的,在状态栏和导航栏沉浸式这一块,我还是踩了挺多坑,费了挺多精力的.这次我将我踩坑,适配各机 ...

  7. android 沉浸式开源库,Android沉浸式状态栏

    关于Android沉浸式状态栏, 网上已经有很多开源库, 虽然开源库可以解决某些特定布局下的沉浸式状态栏问题, 但是遇到比较特殊的布局就无法解决了, 所以了解一下沉浸式状态栏如何实现是有必要的. 无论 ...

  8. Android沉浸式状态栏工具类,一句代码轻松搞定

    Android沉浸式状态栏工具类,一句代码轻松搞定 博客原文及源码地址:http://jaeger.itscoder.com/android/2016/03/27/statusbar-util.htm ...

  9. android沉浸式+虚拟按键+Fragment+CoordinatorLayout(2)

    android沉浸式+CoordinatorLayout+Fragment CoordinatorLayout和沉浸式还是上一篇一样的需求要求图片要深入到标题栏,如果不是这样的问题可以跳过了. 问题: ...

  10. Android 沉浸式模式

    郭霖的专栏 每当你在感叹,如果有这样一个东西就好了的时候,请注意,其实这是你的机会 Android状态栏微技巧,带你真正理解沉浸式模式 目录(?)[+] 什么是沉浸式 隐藏状态栏 隐藏导航栏 真正的沉 ...

最新文章

  1. Waymo自动驾驶详解
  2. 微软为什么从 C/C++ 转向了 Rust?
  3. 小学计算机课型有哪几种,小学信息技术课上常用几种教学方法.doc
  4. git for windows_干货分享 | 嵌入式必备技能之Git的使用
  5. 733. Flood Fill 图像渲染
  6. CRM exception when customizing download is executed in ERP due to empty table gt_crm
  7. Ubuntu 16.04+.Net Core+Docker+Nginx安装部署
  8. linux添加windows网络打印机,Linux Mint如何添加windows分享的网络打印机?
  9. (五)springcloud微服务分布式云架构 - 云架构代码结构构建
  10. Docker Compose安装与简介
  11. 【音频隐写提取】MP3Stego下载、命令、使用方法
  12. 编程之美学习笔记——数字相关(一)
  13. Android中常用的传感器有哪些,手机传感器的主要类型有哪些 手机传感器的功能...
  14. 【排行榜】苏州配眼镜推荐这四类口碑眼镜店
  15. 面向对象的三大特征:封装、继承和多态的简单概述
  16. html锯齿边框,css3制作邮票(锯齿边框)-css3制作邮票(锯齿边框)-HTML5+CSS3-编玩编学- 注重积累的过程 快速锁定问题解决问题 写博客,在积累源码,持续更新技术博客,加分项...
  17. 北京计划以环球影城为核心,开发文化旅游精品线路
  18. HTML 计算奖金小程序
  19. WSDM 2021 | 时间序列相关论文一览
  20. Android中MediaMuxer和MediaCodec用例 - audio+video

热门文章

  1. db2 jdbc 连接池_db2 jdbc连接数据库
  2. 家用计算机的ram怎么清理,计算机内存怎么清理
  3. 如何搭建多功能会议室
  4. 中俄边界上的田园综合体:被额尔古纳河环抱着的“世外桃源”
  5. 计算机类图书的中国法类号,公共书目查询
  6. 筒仓计算表格_筒仓世界中的开源极客
  7. SQL server 获取一周前到两周后之间的所有日期
  8. Bootstrap- Modal对话框如何在关闭时触发事件
  9. 有N个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
  10. 2023年闷声发大财的6个风口行业