当操作栏透明时,内容显示在不透明导航栏后面

时间:2014-10-04 11:45:11

标签: android material-design

我试图实现一个主题,该主题具有完全透明的动作和状态栏以及不透明的导航栏。基本上看起来类似于Google's Material Design website上给出的示例。

enter image description here

这里有一些我编写的XML代码,用于创建一个非常接近的主题 -

 <style name="MyTheme.Transparent" parent="android:Theme.Material.Light.DarkActionBar">
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:windowTranslucentNavigation">false</item>

    <item name="android:colorPrimary">@android:color/transparent</item>
    <item name="android:colorPrimaryDark">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowActionBarOverlay">true</item>

    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

但是,正如您在此图片中看到的,内容显示在底部导航栏的后面。这在用户需要垂直滚动的设计中会很好,但是,我不想这样做!我希望所有内容都适合,无需任何滚动。

我认为我能够添加一个简单的

android:layout_alignParentBottom="true"

在XML布局的最底层视图中进行推送。但那不起作用!相反,它与导航栏的底部对齐,这不是我想要的 - 它应该与它的顶部对齐。

然后我认为我能够从底部做一些边距偏移,但导航栏似乎不存在类似于?attr / actionBarSize的属性。我想避免挑选任意值(特别是因为它们取决于方向而且可能会在未来发生变化)

在主题中,我知道您可以添加 -

<item name="android:fitsSystemWindows">true</item>

哪种方式可以完成此操作(至少对于导航栏),然后图像将被推到操作栏下方。我似乎能够为导航栏或操作栏获得所需的结果,但不能同时获得两者。这几乎就像谷歌甚至不希望人们这样做,但他们已经在材料网站上给出了这个例子。

有什么方法可以解决这些问题吗?

0 个答案:

没有答案
相关问题