最近公司项目中要求写一个视频直播录像及视频观看的功能,额,就本能地去看了一波当下主流的一些视频类APP,发现在爱奇艺等播放器中,在播放视频的时候都是fullScreen的,而这个在各大手游中也体现的比较多。

额,这个其实不算技术层次,但是为了我们的用户体验,我们不能不把每一个细节都做好,同时,这也是追妹秘诀哦~

于是楼主就采用了爱奇艺这样的设计风格,打算隐去系统标题栏和ActionBar。这里就跟大家分享一下这个如何实现,大家可以根据情况采纳。

1)首先我们来看看简单的一张图片是怎样显示的。代码很简单,我们只对Xml上放一张大图。

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout
 3     xmlns:android="http://schemas.android.com/apk/res/android"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     tools:context="com.example.nanchen.fullscreendemo.MainActivity">
 8
 9     <ImageView
10         android:layout_width="match_parent"
11         android:layout_height="match_parent"
12         android:scaleType="centerCrop"
13         android:src="@drawable/test"/>
14 </RelativeLayout>

额,显示就很常规啦。

2)咳咳!搞什么飞机,我只想看美女,给我那么多我不需要的东西做什么?好嘛,来实现全屏,隐去系统标题栏,简单一句代码。

1 @Override
2     protected void onCreate(Bundle savedInstanceState) {
3         super.onCreate(savedInstanceState);
4         setContentView(R.layout.activity_main);
5
6         //   实现全屏,去掉系统标题栏,适合于游戏、电影等沉浸式体验
7         getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
8 }

运行一下:

3)咳咳,别把时间给弄丢了呀,我想像饿了么一样还要看到时间。哼,要是看美女看久了,没注意时间被媳妇儿发现了可就不好了。

好嘛,那就把系统时间放出来嘛,其实也很简单啦,但是目前只支持SDK在21以上哦。下面两种方式都可以。

1 if (VERSION.SDK_INT >= 21) {
2             getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
3                     | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
4             getWindow().setStatusBarColor(Color.TRANSPARENT);
5         }

 1         //另外一种方式
 2         if (VERSION.SDK_INT >= 21) {
 3             getWindow().getDecorView().setSystemUiVisibility(
 4                     View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
 5                             | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
 6                             | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
 7             );
 8             getWindow().setStatusBarColor(Color.TRANSPARENT);
 9             getWindow().setNavigationBarColor(Color.TRANSPARENT);
10         }

看看效果。

4)哎,要是可以想看的时候显示,不想看的时候隐藏就好了。

也可以呀。

1 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
2         | View.SYSTEM_UI_FLAG_FULLSCREEN);

运行。

小伙伴也许会想:靠,楼主你这什么审美,这一闪一闪的是啥?这样还不如上一个好,简直是影响我看美女的心情。哎,关了关了。谁会这么脑残这样弄。

5)话说心急吃不了热豆腐,我亲爱的小伙伴你别方,我们还没带来重磅呢,app的沉浸式用户体验!!!

为了实现出沉浸式效果,隐去不必要的系统控件影响我们的即视感,但是小伙伴,你酌情使用,毕竟沉浸式体验除了在电影,手游,在其他行业貌似还用的相对较少,不过不管用不用,你还是先收藏一个呗,实现就简单了,重写onWindowFocusChanged方法。

 1 /**
 2      * 真正的沉浸式体验,适用于SDK>=19
 3      * 可以拉出导航栏
 4      */
 5     @Override
 6     public void onWindowFocusChanged(boolean hasFocus) {
 7         super.onWindowFocusChanged(hasFocus);
 8         if (hasFocus && VERSION.SDK_INT >= 19) {
 9             getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
10                     | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
11                     | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
12                     | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
13                     | View.SYSTEM_UI_FLAG_FULLSCREEN
14                     | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
15             );
16         }
17     }

见证奇迹:小伙伴一定会发现,这个一下拉就可以把系统导航栏弄出来,又不影响体验,又没影响美观,这也是真正的沉浸式体验。

额,喜欢的小伙伴,就动动你的小手点个赞吧,我们在码农之余,美女还是不可少矣!

转载的小伙伴请在醒目位置附上本文链接:http://www.cnblogs.com/liushilin/p/5799381.html

转载于:https://www.cnblogs.com/liushilin/p/5799381.html

【有美女看】提升用户体验,你不得不知道的事儿——巧用全屏与沉浸式体验,让用户更舒心~...相关推荐

  1. 全新旅行方式——VR云游,沉浸式体验无负担旅行

    目前,VR旅游的形式越来越火爆,景区.旅行社都有在尝试VR全景在旅游景区的落地应用,是未VR云游来旅行.观光.文化导览的重要发展方向,加快推进旅游产业的转型升级. 游客只需要一部手机,即可通过720° ...

  2. 3D全景沉浸式体验场景未来城质量保障方案总结

    未来城是淘宝探索下一代互联网电商在3D场景中的创新尝试,借助了云端强大的GPU完成高清复杂的场景渲染,实现3A影视级画面,端到端200ms时延,用户无需下载大型的安装包,就可在淘宝APP上启用自己的3 ...

  3. Precision 工作站+solidworks+Vr 全新沉浸式体验

    你还记得第一次用电脑打开SOLIDWORKS时候那种"惊喜"的感觉么?可能现在的95.00后新人工程师对三维做图早已经见怪不怪,但是作为一个"有点资历"的工程师 ...

  4. 阿里云视频云互动虚拟技术,打造虚拟直播最佳沉浸式体验

    2022是"体育超级大年",冬奥会.亚运会.大运会.世界杯等各类大型体育赛事贯穿全年.由于受到疫情管控和物理空间的限制,赛事直播至关重要,观众体验需求也在不断升级. 于此,企业对直 ...

  5. VR全景为家装赋能,沉浸式体验家装设计效果

    房子.车子是我们目前难以解决的两大难题,很多人需要两代人的努力才能够买一套房子,然后还得经历等待交房.进行装修等一大堆事情才能住进去.尤其是室内装修,很多人都是有着痛苦的经历的,因为自己忙前忙后,结果 ...

  6. 将渲染计算搬到云端,开启低成本、强交互、沉浸式体验

    云渲染可以解放本地计算需求,这意味着生产力的大幅提升. 云渲染的基本原理是将3D渲染应用部署到云端,接收本地的控制指令发送到云端,云端启动游戏引擎并进行画面渲染,编码成视频流传输到本地. 不难看出,云 ...

  7. 云XR平台支持沉浸式体验应用快速落地

    近日,阿里云与平行云联合发布云 XR 平台,降低云端视觉计算应用的开发门槛,加速数字孪生.虚拟人.虚拟现实.沉浸式体验与虚拟仿真平台等 XR 应用落地,帮助互联网.新零售.社交.工业.交通.城市管理等 ...

  8. “AI”加持,一起“沉浸式体验”企业的走心服务

    小佳是一名购物达人,平时可没少跟客服打交道,但是很多时候常遇到客服长时间不应答.和智能客服"鸡同鸭讲".找不到人工客服的情况,咨询时遇到这些问题严重影响小佳的购物体验,对企业的印象 ...

  9. vue+photo-sphere-viewer 渲染全景图片,带给你沉浸式体验

    vue+photo-sphere-viewer 渲染全景图片,带给你沉浸式体验 Photo Sphere Viewer是一款基于Three.js的360X180度全景图预览js插件.该js插件可以36 ...

最新文章

  1. 搭建测试环境属于软件文档,搭建软件测试环境应注意的几个问题
  2. Linux图形界面与命令行模式切换
  3. 【解析】1057 数零壹 (20分)(进制转换)
  4. Windows下编译配置Caffe的GPU版本
  5. Map与WeakMap
  6. 面向对象的七种设计原则
  7. linux系统MongoDB4.0安装,密码设置,常用命令,集成springmvc
  8. 年月日时分秒格式_日期时间格式中提取日期,居然用INT
  9. 枚举类型的定义和应用
  10. 每日总结 - Android TextView文字底部或者中间 加横线
  11. python发送邮件的模块_python Email 邮件发送模块
  12. webstorm汉化后乱码现象解决
  13. 【概率论与数理统计】1.1 随机事件及其运算
  14. scratch ios html,scratch手机版
  15. 切披萨n块需要几刀原理c语言,别再问我披萨要切几块了
  16. java xmx4g cp,jib 使用教程
  17. 把脉大连接:“多端协同”的大动脉与“多人协作”的主动脉
  18. Codeforces Round #643 (Div. 2) C. Count Triangles 题解(思维)
  19. 屏蔽Enter键和ESC键的方法
  20. 教大家写几个可能用得上的css3简单动画

热门文章

  1. 《Linux内核设计与实现》内存管理札记
  2. 新建一个doophp项目
  3. iBatis整理——iBatis批处理实现(Spring环境)
  4. 各种友(e)善(xin)数论总集,从入门到绝望2
  5. python文档的数据读取,把读取数据写入到新的表里
  6. leetcode71
  7. CentOS探索之路2---使用rpm安装JDK
  8. MacOS中安装python-jekins失败解决方法
  9. 【原】 动态加载dll
  10. Ubuntu 使用记录