Android在状态栏下绘制TYPE_APPLICATION_OVERLAY窗口

u4vypkhs  于 2023-06-20  发布在  Android
关注(0)|答案(2)|浏览(187)

我知道在SDK >= 26中,我们不能在状态栏上绘制,但是我如何使我的视图(TYPE_APPLICATION_OVERLAY)全屏并在状态栏下绘制?
我知道一些应用程序的绘制概述(如信使)能够在状态栏下绘制,但无论我尝试什么,我的覆盖总是停在状态栏。

ntjbwcob

ntjbwcob1#

哇,经过20个小时的搜索,我发现我可以使用LayoutParams.FLAG_LAYOUT_NO_LIMITS并将yPos设置为负数以达到预期的效果。

dvtswwa3

dvtswwa32#

这实际上是由于Android默认情况下避免剪切而不是状态栏本身造成的。这可以通过在没有裁剪的手机上运行没有@saik的答案中给出的偏移量解决方案的代码来看到。
从Android 30开始,您可以使用LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS来防止Android避开剪切区域,而不是使用偏移解决方案。

相关问题