android沉浸式的实现
爱奇艺将整个屏幕作为影视的展示区,用户在看电影的时候眼中就只会有电影的内容,这样就不会被其他一些无关的东西所分心。
这才是沉浸式模式的真正含义,而所谓的什么沉浸式状态栏纯粹就是在瞎叫,完全都没搞懂“沉浸式” 这三个字是什么意思
@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沉浸式的实现相关推荐
- Android沉浸式模式状态栏(二)
其实说到沉浸式状态栏这个名字,真不知道这种叫法是谁先发起的.因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法.而有些人在没有完全了解清 ...
- 高大上的Android沉浸式状态栏?
背景 之前做过Android沉浸式状态栏的相关需求,但是一直忙于工作,没时间系统的整理下沉浸式相关的知识,所以今天抽出时间,写一篇 Android沉浸式状态栏的文章. 何为沉浸式 沉浸式就是要给用户提 ...
- Android 沉浸式状态栏 实现方式二 ( 更简单 )
以前写过一个沉浸式状态栏 的实现方式 Android 沉浸式状态栏 实现方式一 现在有个更为简单的实现方式 . 相关链接 http://www.apkbus.com/forum.php?mod=vie ...
- android 5.0状态栏下载地址,Android沉浸式状态栏(5.0以上系统)
Android沉浸式状态栏(5.0以上系统) 沉浸式状态栏可以分为两种: 1.直接给状态栏设置颜色 (如下图:) 这里写图片描述 java代码形式: if (Build.VERSION.SDK_INT ...
- Android 沉浸式状态栏完美解决方案
Android 沉浸式状态栏完美解决方案 参考文章: (1)Android 沉浸式状态栏完美解决方案 (2)https://www.cnblogs.com/dingxiansen/p/9929828. ...
- 史上最完美的Android沉浸式状态导航栏攻略
前言 最近我在小破站开发一款新App,叫高能链.我是一个完美主义者,所以不管对架构还是UI,我都是比较抠细节的,在状态栏和导航栏沉浸式这一块,我还是踩了挺多坑,费了挺多精力的.这次我将我踩坑,适配各机 ...
- android 沉浸式开源库,Android沉浸式状态栏
关于Android沉浸式状态栏, 网上已经有很多开源库, 虽然开源库可以解决某些特定布局下的沉浸式状态栏问题, 但是遇到比较特殊的布局就无法解决了, 所以了解一下沉浸式状态栏如何实现是有必要的. 无论 ...
- Android沉浸式状态栏工具类,一句代码轻松搞定
Android沉浸式状态栏工具类,一句代码轻松搞定 博客原文及源码地址:http://jaeger.itscoder.com/android/2016/03/27/statusbar-util.htm ...
- android沉浸式+虚拟按键+Fragment+CoordinatorLayout(2)
android沉浸式+CoordinatorLayout+Fragment CoordinatorLayout和沉浸式还是上一篇一样的需求要求图片要深入到标题栏,如果不是这样的问题可以跳过了. 问题: ...
- Android 沉浸式模式
郭霖的专栏 每当你在感叹,如果有这样一个东西就好了的时候,请注意,其实这是你的机会 Android状态栏微技巧,带你真正理解沉浸式模式 目录(?)[+] 什么是沉浸式 隐藏状态栏 隐藏导航栏 真正的沉 ...
最新文章
- Waymo自动驾驶详解
- 微软为什么从 C/C++ 转向了 Rust?
- 小学计算机课型有哪几种,小学信息技术课上常用几种教学方法.doc
- git for windows_干货分享 | 嵌入式必备技能之Git的使用
- 733. Flood Fill 图像渲染
- CRM exception when customizing download is executed in ERP due to empty table gt_crm
- Ubuntu 16.04+.Net Core+Docker+Nginx安装部署
- linux添加windows网络打印机,Linux Mint如何添加windows分享的网络打印机?
- (五)springcloud微服务分布式云架构 - 云架构代码结构构建
- Docker Compose安装与简介
- 【音频隐写提取】MP3Stego下载、命令、使用方法
- 编程之美学习笔记——数字相关(一)
- Android中常用的传感器有哪些,手机传感器的主要类型有哪些 手机传感器的功能...
- 【排行榜】苏州配眼镜推荐这四类口碑眼镜店
- 面向对象的三大特征:封装、继承和多态的简单概述
- html锯齿边框,css3制作邮票(锯齿边框)-css3制作邮票(锯齿边框)-HTML5+CSS3-编玩编学- 注重积累的过程 快速锁定问题解决问题 写博客,在积累源码,持续更新技术博客,加分项...
- 北京计划以环球影城为核心,开发文化旅游精品线路
- HTML 计算奖金小程序
- WSDM 2021 | 时间序列相关论文一览
- Android中MediaMuxer和MediaCodec用例 - audio+video
热门文章
- db2 jdbc 连接池_db2 jdbc连接数据库
- 家用计算机的ram怎么清理,计算机内存怎么清理
- 如何搭建多功能会议室
- 中俄边界上的田园综合体:被额尔古纳河环抱着的“世外桃源”
- 计算机类图书的中国法类号,公共书目查询
- 筒仓计算表格_筒仓世界中的开源极客
- SQL server 获取一周前到两周后之间的所有日期
- Bootstrap- Modal对话框如何在关闭时触发事件
- 有N个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- 2023年闷声发大财的6个风口行业