从服务渲染过去的过扫描

时间:2018-07-24 00:02:14

标签: android service navigationbar

我正在创建一个应用程序,该应用程序为根目录下的Android设备提供了自定义导航栏。至此,我已经弄清楚了如何创建类似于导航栏的叠加层,在其他应用程序上显示它,在系统范围内隐藏默认导航栏,以及为导航栏添加适合的过扫描空间(以防止它涵盖其他应用)。现在,剩下的唯一任务是将自定义导航填充到过扫描空间:

enter image description here

在浏览Android源代码时,我发现Android框架提供了一个窗口标志以及一些主题,这些主题使您可以将 activity 扩展到过扫描空间。我仍然不明白的是为什么我不能在我的 service 中使用window标志来允许它在过扫描空间中呈现膨胀视图

我尝试过的事情
1.在构建叠加层的参数时,将LayoutParams.FLAG_LAYOUT_IN_OVERSCAN标志添加到我的WindowManager.LayoutParams中。
2.在我要覆盖的XML布局的根元素上,将fitsSystemWindows属性设置为false
3.使用版式上的负边距将其拉到过扫描基线以下

如果不可能在服务中完成此操作,是否还有其他方法可以不同地创建这种“总是在顶部”的效果,以便至少可以使用一个窗口对象?

注意:在活动中使用整体式过扫描主题完全可以达到预期效果。在服务中使用该标志只是行不通。

0 个答案:

没有答案