1 android android-layout material-design
我想将导航栏更改为完全透明,如下图所示。
我试过了,<item name="android:windowTranslucentNavigation">true</item>但它不是完全透明的(更像是 50%)。
有解决办法吗?因为我一无所获,但我看到了一些像 Nova 这样使用它的应用程序。它甚至在谷歌指南https://material.google.com/layout/structure.html#structure-system-bars
我的灵感来自 Google Keep 应用程序,它具有类似的实现,如下所示:
所以我试图找到一个关于如何实现这件事的合适的帖子,但不幸的是什么也没找到,而且上面的答案也不起作用。所以我决定尝试所有与navigationBarAndroid Studio相关的标志。
让我详细解释一下:
只有android:navigationBarColor在使用浅色主题时才不会做任何事情。但是在黑暗主题上,它会起作用。
设置windowTranslucentNavigation为true将做两件事:
navigationBarColor并强制它是透明的。这将如下图所示:
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS(按照@Frankenxtein 的回答),您将得到以下结果:这在某种程度上接近预期的结果,但这不是因为它在导航栏下方绘制活动组件。而且它弄乱了您的填充和边距(请参阅此处的完整屏幕截图)。而且,您必须为每项活动都这样做,并且还必须调整当前的保证金。
这可以在不影响当前布局的情况下实现。要在黑暗主题中执行此操作,您没有问题,只需设置即可android:navigationBarColor。
然而,我们在这里的目标是使用轻主题 let (#FFFFFF) 来实现。使用android:windowLightNavigationBar它需要 API 27 或更高版本 android:navigationBarColor将产生我们想要的结果。
<item name="android:navigationBarColor">@color/colorPrimaryDark</item>
<item name="android:windowLightNavigationBar">true</item>
Run Code Online (Sandbox Code Playgroud)
对于我的应用案例colorPrimaryDark,浅色主题中的 #FFFFFF 和深色主题中的德古拉,您还可以为此声明一个新变量。产生以下结果:
黑暗主题
这android:navigationBarColor是设置导航栏的背景颜色。并android:windowLightNavigationBar设置深色按钮颜色并指示背景为浅色,正如您从它的名称中可以理解的那样。
希望这可以帮助 !
| 归档时间: |
|
| 查看次数: |
7838 次 |
| 最近记录: |