android 您所在的位置:网站首页 怎么删除网格状态栏 android

android

2023-07-10 22:13| 来源: 网络整理| 查看: 265

tl;dr 设置 android:fitsSystemWindows="false" 至少到根 CoordinatorLayout 和内部片段容器 @frame_container 。

这可能不是最终的解决方案(即可能还有其他 fitsSystemWindows 需要更改)所以如果您有任何问题请告诉我。

为什么

说到状态栏,我想到了 fitsSystemWindows 像这样:

fitsSystemWindows="false" :由于您设置的窗口标志, 在 状态栏下正常绘制视图。 fitsSystemWindows="true" :由于您设置的窗口标志, 在 状态栏下方正常绘制视图,但 添加顶部填充 以便内容绘制在状态栏下方并且它们不重叠。

其实在我看来,你看到的白色不是状态栏颜色,而是你的 CoordinatorLayout 背景。这是由于 fitsSystemWindows="true" 在协调器上:它将背景绘制到整个窗口,但向内容添加顶部填充,因此内部视图不会被状态栏覆盖。

这不是你想要的。您的内部内容 必须 被状态栏覆盖,因此您必须将 fitsSystemWindows="false" 设置为协调器(因此它不会应用顶部填充)并且可能设置为内容本身。

一旦了解了它的工作原理,就很容易调试并达到您想要的效果。 其实不然。多年过去了,但我仍然花费数小时试图找出正确的 fitsSystemWindows 组合,因为大多数视图(至少在支持库中)以大多数不直观的方式覆盖了我上面所述的默认行为。有关如何使用它的小指南,请参阅 这篇文章。

原文由 natario 发布,翻译遵循 CC BY-SA 3.0 许可协议



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有