最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android 虚拟按键与沉浸式的适配方法
时间:2022-06-25 22:53:20 编辑:袖梨 来源:一聚教程网
根据公司产品的要求,app要实现全屏模式,也就是4.4以后的所谓的沉浸式。
在values-v19和values-v21的styles里添加以下代码,实现19以上的系统的沉浸式:
TranslucentDecor,是KitKat及以上版本加入的theme包,用于把布局顶到状态栏(Status Bar)和导航栏(Navigation Bar)上,扩展屏幕高度。这样,只要我们把Status Bar和Navigation Bar的颜色设置成透明,那就可以实现app的全屏而又不影响状态栏和导航栏了。如图:
那么,问题来了。加入直接这样设置,手机使用虚拟按键的,像华为各种型号的手机,布局和Navigation Bar会重叠导致冲突,比如这样:
而且,不适配4.4以下的系统。
为了解决问题,查看了很多资料,也自己尝试了一下,发现很多方法都不适合。后来尝试了一下,低于4.4的版本,也就是values下的styles,直接把parent的值,设置成NoTitleBar或者其它的兼容4.4以下版本的Theme(当然,4.4以下的系统,没办法实现沉浸式),然后values-v19和v21的保持TranslucentDecort实现沉浸式。
看了很多网友的资料,有人尝试在layout的总布局里设置android:fitsSystemWindows="true",但这样子Status Bar也就废了,这不是我们想要的。
把values-v19和v21的styles里的
- false
设置成false,尝试了一下,成功了。带有虚拟按键的系统,自动把布局顶上去了。
相关文章
- 火影忍者木叶高手怎么快速升级 快速升级途径 08-17
- 植物大战僵尸杂交版2.5.1版本更新了什么-植物大战僵尸杂交版2.5.1版本更新内容介绍 08-17
- 火影忍者木叶高手前期怎么配队 前期队伍搭配攻略 08-17
- 燕云十六声武道心宫怎么玩 武道心宫玩法教学 08-17
- 燕云十六声家园庄客先招募哪些 家园庄客招募推荐 08-17
- 沙威玛传奇苹果怎么下载-沙威玛传奇iOS版本下载教程 08-17