状态栏半透明,并且像Lollipop上的Gmail Android应用程序一样着色

时间:2014-11-22 21:38:40

标签: android android-layout android-5.0-lollipop

我想将5.0上的Gmail应用状态栏行为重现为简历:

  • 当导航抽屉关闭时,状态栏颜色为深红色
  • 当导航栏打开时,它会在状态栏下打开,该状态栏现在是半透明的。
  • 工具栏(以前的ActionBar)始终位于状态栏下。

我正在使用紧凑型库v21,并在主活动文件夹中添加了一个工具栏:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimaryDark"
/>

我使用的是基于Theme.AppCompat.NoActionBar的主题

1)我的状态栏是彩色的,但导航抽屉在状态栏的正下方打开,而不是在状态栏下面。

2)然后我让状态栏半透明添加:

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

但是这会将状态栏下的整个工具栏向上移动,将其隐藏起来。导航抽屉在状态栏下打开。

3)为了解决这个问题,我们尝试使用&#34; margintop&#34;向下移动工具栏。与状态栏的大小。通过该更改,状态栏是透明的,没有颜色。

4)所以我最后的目的是在&#34;工具栏&#34;顶部添加另一个状态栏高度的工具栏。这是一个ActionBar。我用黑色着色这个工具栏。问题是要完成这项工作,需要知道所有设备上的状态栏高度。

最后一个也无法在v21之前工作,所以我需要使用&#34;新工具栏&#34;仅限于第21版。

所有这些对我来说似乎有点不完整,所以我想知道是否还有其他方式更多&#34;标准&#34;完成这样的&#34;小&#34;特征

https://stackoverflow.com/a/26440880/557179处给出的解决方案仅在导航抽屉在drawerLayout内部或使用include定义时才有效。但在我的情况下,导航抽屉被定义为DrawerLayout层次结构上的片段,而fitystemWindows不起作用。

谢谢!

0 个答案:

没有答案