疫情概要
国内疫情
截至4月25日24时,据31个省(自治区、直辖市)和新疆生产建设兵团报告,现有确诊病例801例(其中重症病例51例),累计治愈出院病例77394例,累计死亡病例4632例,累计报告确诊病例82827例,现有疑似病例12例。累计追踪到密切接触者729885人,尚在医学观察的密切接触者8308人。
海外疫情
经济日报-中国经济网北京4月26日讯(记者 朱晓航)截至4月26日上午11点,全球新冠肺炎确诊病例逾291万例,中国以外确诊病例超283万例,共31国累计确诊病例过万,其中美国960651例,西班牙223759例,意大利195351例。
过去24小时,中国以外新冠肺炎病例新增超8.4万例,其中美国今日新增3.3万多(连续第33天新增过万),俄罗斯5900多,英国4900多,西班牙3900多。
目前全球共报告新冠肺死亡病例超20万例,中国以外死亡病例逾19.8万例,其中美国死亡54256例,意大利死亡26384例,西班牙死亡22902例。
前言
最近几天的开发强度终于开始缓解下来了,小编才算是可以把之前later了好久的一个bug拿出来好好折腾折腾了。
本篇的主角bug全称:部分设备切换横屏后系统状态栏和导航栏无法隐藏,连续横竖屏切换多次后也会出现横屏全屏无法隐藏系统状态栏和导航栏。
本篇就将该问题的最终解决方案做个总结,接下来就直接进入主题。
问题版本
1 |
|
改进处理版本(BaseAppCompatActivity)
1 |
|
改动点主要有以下几点:
通过
View.setOnSystemUiVisibilityChangeListener()
注册 View.OnSystemUiVisibilityChangeListener ,以便获得系统界面可见性更改的通知实现
onWindowFocusChanged()
。 如果在横屏下获得窗口焦点,则需要再次隐藏系统栏隐藏操作通过Handler进行适当延迟
使用粘性沉浸模式(SYSTEM_UI_FLAG_IMMERSIVE_STICKY),在普通的沉浸模式中,只要用户从边缘滑动,系统就会负责显示系统栏,您的应用甚至不会知道发生了该手势。因此,如果用户实际上可能是出于主要的应用体验而需要从屏幕边缘滑动,例如在玩需要大量滑动的游戏或使用绘图应用时,您应改为启用“粘性”沉浸模式。
在粘性沉浸模式下,如果用户从隐藏了系统栏的边缘滑动,系统栏会显示出来,但它们是半透明的,并且轻触手势会传递给应用,因此应用也会响应该手势。
源码
源码仓库:https://gitee.com/goldsea/learn.git
核心源码:FullScreenActivity、BaseAppCompatActivity