最新文章专题视频专题关键字专题TAG最新视频文章视频文章2视频2tag2tag3文章专题问答问答2 文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
google浏览器怎么设置主页 系统exe打开方式还原的方法 Photoshop怎样储存选区 win7中java环境变量设置,win7如何配置java环境 电脑怎样重装系统简单又快速 Win10怎样设置屏保密码 个人信用记录怎么在网上查询 WPS如何清除格式 如何编辑优质微信公众平台内容 不越狱更换iPhone铃声的方法 CAD中轴测图的尺寸标注方法 手机怎样实现软件搬家 PS利用匹配颜色快速为图片换色 飞机上可以使用手机了,这是怎么一回事呢? 如何制作二寸照片 如何利用格式工厂将视频转音频 Win7语言栏不见了怎么办 教你如何去掉AutoCAD教育版戳记 怎样把网站制作成自己的手机APP 虚拟光驱重装win7系统的方法 养老金领取计算方法 如何让自己的网站快速被百度收录 win8/win8.1怎样进入Bios 此网站的安全证书有问题解决方法 《真三国无双7:猛将传》新手技能与武器属性选择 Windows下 VM12虚拟机安装OS X 10.11的方法 如何在创世中文网申请成为作者 绿豆汤会变红是什么原因 怎样查看身份证绑定了几个支付宝 如何把微信里占用内存的消息记录删除 微信使用技巧之如何通过二维码添加好友 怎么修改电脑时间? cad中如何使用剖切命令 如何给excel加密 CAD中怎么改变布局中的背景颜色 wps表格中如何让表头固定不动 免费视频合并软件哪个好 电脑已经开机了,但是显示器不显示--怎么办 igs文件怎么打开 手机截屏图片储存在哪里
沉浸式模式是什么
2020-03-19 16:52:57 责编:小OO
沉浸式就是要给用户提供完全沉浸的体验,使用户有一种置身于虚拟世界之中的感觉。比如说现在大热的VR就是主打的沉浸式体验。那么对应到Android操作系统上面,怎样才算是沉浸式体验呢?这个可能在大多数情况下都是用不到的,不过在玩游戏或者看电影的时候就非常重要了。因为游戏或者影视类的应用都希望能让用户完全沉浸在其中,享受它们提供的娱乐内容,但如果这个时候在屏幕的上方还显示一个系统状态栏的话,可能就会让用户分分钟产生跳戏的感觉。接下来,为大家具体介绍一下沉浸式模式。

方法

我们来看一下比较好的游戏都是怎么实现的,比如说海岛奇兵。海岛奇兵的这种模式就是典型的沉浸式模式,它的整个屏幕中显示都是游戏的内容,没有状态栏也没有导航栏,用户玩游戏的时候就可以完全沉浸在游戏当中,而不会被一些系统的界面元素所打扰。

然后我们再来看一下爱奇艺的实现。同样也是类似的,爱奇艺将整个屏幕作为影视的展示区,用户在看电影的时候眼中就只会有电影的内容,这样就不会被其他一些无关的东西所分心。这才是沉浸式模式的真正含义,所谓的“沉浸式状态栏”这种叫法是不对的,完全都没搞懂“沉浸式” 这三个字是什么意思。不过虽然听上去好像是很高大上的沉浸式效果,实际看上去貌似就是将内容全屏化了而已。没错,Android沉浸式模式的本质就是全屏化,不过我们今天的内容并不仅限于此,下面我们就开始来一步步学习吧。

一个Android应用程序的界面上其实是有很多系统元素的,观察下图,可以看到,有状态栏、ActionBar、导航栏等。而打造沉浸式模式的用户体验,就是要将这些系统元素全部隐藏,只留下主体内容部分。

比如说我现在新建了一个空项目,然后修改布局文件中的代码,在里面加入一个ImageView,如下所示:

这里将ImageView的宽和高都设置成match_parent,让图片充满屏幕。现在运行一下程序,效果如下图所示。

如果你将图片理解成游戏或者电影界面的话,那这个体验离沉浸式就差得太远了,至少状态栏和ActionBar得要隐藏起来了吧?没关系,我们一步步进行优化,并且在优化中学习。隐藏状态栏和ActionBar的方式在4.1系统之上和4.1系统之下还是不一样的,这里我就不准备考虑4.1系统之下的兼容性了,因为过于老的系统根本就没有提供沉浸式体验的支持。修改MainActivity中的代码,如下所示:

这里先调用getWindow().getDecorView()方法获取到了当前界面的DecorView,然后调用它的setSystemUiVisibility()方法来设置系统UI元素的可见性。其中,SYSTEM_UI_FLAG_FULLSCREEN表示全屏的意思,也就是会将状态栏隐藏。另外,根据Android的设计建议,ActionBar是不应该独立于状态栏而单独显示的,因此状态栏如果隐藏了,我们同时也需要调用ActionBar的hide()方法将ActionBar也进行隐藏。现在重新运行一下程序,效果如下图所示。

虽说这才是正统的沉浸式含义,但有些朋友可能想实现的就是饿了么那样的状态栏效果,而不是直接把整个系统状态栏给隐藏掉,那么又该如何实现呢?其实也很简单,只需要借助另外一种UI Flag就可以了,如下所示:

首先需要注意,饿了么这样的效果是只有5.0及以上系统才支持,因此这里先进行了一层if判断,只有系统版本大于或等于5.0的时候才会执行下面的代码。接下来我们使用了SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN和SYSTEM_UI_FLAG_LAYOUT_STABLE,注意两个Flag必须要结合在一起使用,表示会让应用的主体内容占用系统状态栏的空间,最后再调用Window的setStatusBarColor()方法将状态栏设置成透明色就可以了。现在重新运行一下代码,效果如下图所示。可以看到,类似于饿了么的状态栏效果就成功实现了。再声明一次,这种效果不叫沉浸式状态栏,也完全没有沉浸式状态栏这种说法,我们估且可以把它叫做透明状态栏效果吧。

现在我们已经成功实现隐藏状态栏的效果了,不过屏幕下方的导航栏还比较刺眼,接下来我们就学习一下如何将导航栏也进行隐藏。其实实现的原理都是一样的,隐藏导航栏也就是使用了不同的UI Flag而已,修改MainActivity中的代码,如下所示:

这里我们同时使用了SYSTEM_UI_FLAG_HIDE_NAVIGATION和SYSTEM_UI_FLAG_FULLSCREEN,这样就可以将状态栏和导航栏同时隐藏了。现在重新运行一下程序,效果如图所示。

除了隐藏导航栏之外,我们同样也可以实现和刚才透明状态栏类似的效果,制作一个透明导航栏:

这里使用了SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION,表示会让应用的主体内容占用系统导航栏的空间,然后又调用了setNavigationBarColor()方法将导航栏设置成透明色。现在重新运行一下程序,效果如下图所示。

虽说沉浸式导航栏这个东西是被很多人误叫的一种称呼,但沉浸式模式的确是存在的。那么我们如何才能实现像海岛奇兵以及爱奇艺那样的沉浸式模式呢?首先你应该确定自己是否真的需要这个功能,因为除了像游戏或者视频软件这类特殊的应用,大多数的应用程序都是用不到沉浸式模式的。当你确定要使用沉浸式模式,那么只需要重写Activity的onWindowFocusChanged()方法,然后加入如下逻辑即可:

沉浸式模式的UI Flag就这些,也没什么好解释的,如果你需要实现沉浸式模式,直接将上面的代码复制过去就行了。需要注意的是,只有在Android 4.4及以上系统才支持沉浸式模式,因此这里也是加入了if判断。另外,为了让我们的界面看上去更像是游戏,这里我将MainActivity设置成了横屏模式:

这样我们就实现类似于海岛奇兵和爱奇艺的沉浸式模式效果了,如下图所示。可以看到,界面默认情况下是全屏的,状态栏和导航栏都不会显示。而当我们需要用到状态栏或导航栏时,只需要在屏幕顶部向下拉,或者在屏幕右侧向左拉,状态栏和导航栏就会显示出来,此时界面上任何元素的显示或大小都不会受影响。过一段时间后如果没有任何操作,状态栏和导航栏又会自动隐藏起来,重新回到全屏状态。这就是最标准的沉浸式模式。

声明:本文由用户 爱情是你我 上传分享,本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:0731-84117792 E-MAIL:11247931@qq.com

显示全文
专题微软推出AI新算法,能够加快旧照片修复效率微软推出AI新算法,能够加快旧照片修复效率专题2022年的假期安排出炉,快来一起看看吧2022年的假期安排出炉,快来一起看看吧专题骑手摔猫引发热议,结果被永久封号骑手摔猫引发热议,结果被永久封号专题张一鸣身价594亿美元超腾讯马化腾,成中国互联网首富张一鸣身价594亿美元超腾讯马化腾,成中国互联网首富专题AI打造童话世界,引领科技生活AI打造童话世界,引领科技生活专题特斯拉公司CEO马斯克,给大众高管传授电动汽车经验特斯拉公司CEO马斯克,给大众高管传授电动汽车经验专题网友爆料蚂蚁森林未种植梭梭,官方辟谣网友爆料蚂蚁森林未种植梭梭,官方辟谣专题AI是否拥有著作权,进入人们的视野AI是否拥有著作权,进入人们的视野专题Twitter股价跌至超10%,创造近 6个月最大跌幅Twitter股价跌至超10%,创造近 6个月最大跌幅专题关于未来人工智能发展的三大预测关于未来人工智能发展的三大预测专题微博新增“炸毁”评论功能:只对自身个人隐藏微博新增“炸毁”评论功能:只对自身个人隐藏专题官方回应解决屏蔽网址链接等问题官方回应解决屏蔽网址链接等问题专题B站上线童年动画专区:重温童年经典B站上线童年动画专区:重温童年经典专题AI审美开始对我们的生活评头论足,影响着我们个性化审美AI审美开始对我们的生活评头论足,影响着我们个性化审美专题韩国电信 KT 对“网络瘫痪事件”正式道歉韩国电信 KT 对“网络瘫痪事件”正式道歉专题网约车车内监控视频引发热议,司机拒逆行遭表扬网约车车内监控视频引发热议,司机拒逆行遭表扬专题抖音直播开展打击低俗、不良价值观内容行动抖音直播开展打击低俗、不良价值观内容行动专题人脸识别AI技术,从梦想走进生活人脸识别AI技术,从梦想走进生活专题王小川告别搜狗,将进入医疗健康领域王小川告别搜狗,将进入医疗健康领域专题部分网约车平台开展非法营运,交通运输部等五部门联合约谈部分网约车平台开展非法营运,交通运输部等五部门联合约谈专题软银成立30亿美元,用来投资拉美科技公司软银成立30亿美元,用来投资拉美科技公司专题多家互联网集团取消大小周,小鹏汽车每天工作8小时多家互联网集团取消大小周,小鹏汽车每天工作8小时专题AI防“疫”,人工智能发挥了多少作用?AI防“疫”,人工智能发挥了多少作用?专题段永平回应“重出江湖联合OV造车”绝不会发生段永平回应“重出江湖联合OV造车”绝不会发生专题AI助力精准防控,帮助病例筛查、药物研发AI助力精准防控,帮助病例筛查、药物研发专题外卖骑手为消差评拿砖上门被刑拘,结果顾客没评论外卖骑手为消差评拿砖上门被刑拘,结果顾客没评论专题分析师认为马斯克将凭SpaceX成首位万亿富豪分析师认为马斯克将凭SpaceX成首位万亿富豪专题人脸识别技术应用应该刹刹车,划定好边界人脸识别技术应用应该刹刹车,划定好边界专题知名游戏主播山泥若二审宣判,被判刑3年并处罚金5万元知名游戏主播山泥若二审宣判,被判刑3年并处罚金5万元专题公租房小区被曝,超过10万元的豪车拒进公租房小区被曝,超过10万元的豪车拒进专题模式是什么意思专题沉浸式状态栏是什么专题沉浸式虚拟现实系统专题沉浸式戏剧是什么专题什么是沉浸式密室专题什么是沉浸式教学专题什么是沉浸式体验专题沉浸式教学模式专题头部ip是什么意思专题沉浸式营销专题VR营销专题沉浸式体验是什么意思专题沉浸式传播专题什么是沉浸式专题骑士经理2沉浸模式专题闲鱼沉浸模式是干嘛的专题沉浸模式怎么设置专题闲鱼沉浸模式要开吗专题橙子vr沉浸模式怎么用专题联想z5开启沉浸模式专题