Activity刘海、全屏模式设置,隐藏底部虚拟导航。

如题所述

第1个回答  2022-07-03

刘海屏幕
对于华为20pro,在设置-->显示-->更多显示设置-->选择 默认(为应用自动匹配顶部显示,尽可能地利用屏幕空间,使内容不被遮挡)
或者选择 隐藏顶部区域(屏幕顶部始终不作为显示区域,会导致竖屏进入刘海区域,横屏不进入刘海区域)

activity隐藏底部虚拟导航(比如华为):
在onResume和onWindowFocusChanged中写入:

dialog:弹窗,在有底部虚拟导航按钮(在全屏模式中,比如华为:闪烁问题)。
处理办法重写dialog的show方法:

如果只设置

会发现在刘海屏手机上有一段灰白色区域(action_model_bar-stub:ViewStubComat)位置, xml自己的布局会往下挤一段距离高度。
如果设置上了则该位置为(0,0,0,0),实现了真正意义上的全屏。
为何取名为透明?好奇怪,它的确有实际高度,设置为true了就无实际高度。