列表中视频全屏/非全屏切换时,需要动态显示/隐藏状态栏

View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性(参考blog:https://blog.csdn.net/stevenhu_223/article/details/12428591)懒得多谢,直接引用了,大家有兴趣可以了解一下

我一开始全屏使用的是以下两种切换方式:

1、切换到全屏时:setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);//全屏隐藏状态栏

2、切换到非全屏:setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);//非全屏,切换到普通状态

这两段代码,如果是沉浸式状态栏,是没有任何问题的,但是我的首页不能使用沉浸式,而且状态栏设置了白底黑字样式(主要原因应该是这个)所以在使用这种方式的时候,居然出现了问题!!!!兼容性,真的非常脑袋疼,其它手机都没问题,魅族Flyme系统和华为荣耀手机全屏后状态栏依然显示,所以不得不在首页换种方式解决

后来想到,setSystemUiVisibility其实都是View级别的,但是android中关于界面最底层其实是Window,所以想到用Window的setFlags方式,最终问题解决,解决代码如下:

1、切换到全屏时:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

2、切换到非全屏:

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

最终问题兼容性迎刃而解,在处理UI,尤其是系统状态栏、Theme等,兼容性是最大的问题,希望与小伙伴们共勉

视频全屏非全屏切换,状态栏动态显示隐藏兼容性解决相关推荐

  1. Android 刘海屏全屏适配(沉溺式状态栏,隐藏状态栏)

    @RequiresApi(Build.VERSION_CODES.LOLLIPOP)override fun onCreate(savedInstanceState: Bundle?) {super. ...

  2. 钢化膜全覆盖非全覆盖的区别_钢化膜和水凝膜的区别

    一.钢化膜 1.钢化膜就是使用钢化玻璃制作的手机膜,主要分为全覆盖和非全覆盖两类.顾名思义,全覆盖是指能覆盖包括屏幕显示部分和边框的钢化膜,而非全覆盖钢化膜通常只能覆盖屏幕显示部分和上下部分边框. 2 ...

  3. 浏览器全屏非全屏切换

    1 //进入全屏 2 function requestFullScreen() { 3 var de = document.documentElement; 4 if (de.requestFulls ...

  4. 钢化膜全覆盖非全覆盖的区别_什么是3D全覆盖钢化膜,为什么大家都在用?

    原标题:什么是3D全覆盖钢化膜,为什么大家都在用? 同手机屏幕一样,手机钢化玻璃膜也经历了2D到2.5D到3D的发展.3D只是一个营销噱头吗?对不起,并不是. 下面一张图告诉你三者之间的区别:2D不用 ...

  5. JavaScript 中 的等号(==)/不等号(!=) 和全等号(===)/非全等号(!==)

    2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/u/1579702/blog/220269

  6. 西工大非全信息汇总说明

    前言:去年也大概是复试阶段,调研走访了一些同学后,在公众号推送了非全信息的说明.最近因为复试陆续结束,软件非全对于很多同学的调剂来说可能是绕不开的坎,因为非全受政策影响,每年的情况不太一样,结合上次的 ...

  7. Flash全屏播放外部多个Flv视频并且按键进行切换+全屏播放外部Flv视频+指定元件播放外部Flv视频(非全屏)(可以作为遮罩来播放)

    目录 一.目的: 1.Flash全屏播放外部多个Flv视频并且按键进行切换+全屏播放外部Flv视频+指定元件播放外部Flv视频(非全屏),所以将其记录下来 二.参考: 1.[AS3编程教学]如何加载并 ...

  8. 随笔:说说第一次在android中嵌入非全屏显示的unity游戏时的坑之——界面切换时出现延迟/卡顿/花屏等现象解决方法

    One 最近对接了个unity3D做的小游戏到android项目中:游戏嵌入项目的界面且非全屏显示,项目几经波折,到我手上的时候,已经采用了在同一个activity中用两个View来分别显示andro ...

  9. Android 全屏界面切换到非全屏界面的问题

    App一般都有一个启动界面,称为Splash界面. 一般这个界面都是做成全屏的,即隐藏掉系统状态栏,然后再跳转到主界面. 由于主界面是非全屏的,保留着状态栏,这个过程就发生了从全屏界面切换到非全屏界面 ...

最新文章

  1. [导入]将文字内容和图片插入到Access数据库(转帖)
  2. python录入数据至ppt_用 Python 让你的 PPT 数据动起来
  3. 李德毅院士《探索新一代人工智能产业发展》
  4. MongoDB导出场景查询优化 #1
  5. hdu 4309(最大流+枚举状态)
  6. 关于 SAP Spartacus SSR 模式和 CSR 模式下重复发送 HTTP 请求调用 OCC API 的问题
  7. JavaSE第九天20160815
  8. Chapter7-8_Deep Learning for Constituency Parsing
  9. 图解 继电器模组接线图_中间继电器如何接线_中间继电器接线图图解
  10. mathematica 8.0.0 激活方法
  11. 买下千万美元豪宅的库克 在周日获得了价值3600万美元股票
  12. 结构体指针大小_C语言100题集合013-指向结构体变量的指针
  13. 解压rar文件压缩包时出现“An error occurred while loading the archive”的解决办法
  14. 慕课 springmvc 起步 maven wbe
  15. 车机没有carlife可以自己下载吗_论互联哪家强 Carlife/Carplay针尖对麦芒
  16. 这些书你读过一多半,你就是编程大牛!
  17. 二类电商积分商城,积分兑换商城源码,免登陆积分兑换商城系统
  18. 七夕活动主题html邮件,七夕节活动策划方案,七夕创意活动主题
  19. 数据库维护任务-邮件通知:未配置全局配置文件。请在 @profile_name 参数中指定配置文件名。
  20. E-R图中联系向关系模式的转化

热门文章

  1. iOS开发之3D Touch(快速添加3D Touch功能)
  2. 【采集项目-(4)业务数据采集】
  3. PostgreSQL 连接(JOIN)
  4. ajax nginx 转发 sessionid_百度、京东、网易、腾讯、淘宝等大厂都在用的Web服务器Nginx详解
  5. 跨境企业招聘信息怎么写才能吸引求职者?
  6. PPP、PPPOE、PPTP、L2TP应用场合
  7. 很有意境的语句[转]
  8. MVC ViewData和ViewBag
  9. 编程将一个整数分解成一个质因数的连乘积,并打印在屏幕上
  10. 微分方程的基本概念(通解、特解,线素场)