在android中探索fitsSystemWindows和透明状态栏

请假设一切只针对目标,minSDK vesion只是棒棒糖。

我想要的是

我试图从Play商店实施类似于以下屏幕的活动。

在这里输入图像说明

我在这里专注于英雄形象。 正如你所看到的,1.英雄形象是在状态栏后面绘制的。 (完全透明,无保护)2.其余内容在状态栏下方画出。 (例如,工具栏/ ActionBar)3.滚动状态栏时是彩色的。

我做了什么

我使用了GoogleIO应用程序的ScrimInsetsFrameLayout。 围绕这个布局包裹我的英雄形象。 在我的主题中添加了适当的样式。 这是我得到的

在这里输入图像说明

帮助我需要

  1. 我仍然对fitsSystemWindows标签感到困惑。 当我在英雄图像布局上将其设置为“真”时,没有任何反应。 这是状态栏是透明的,但图像是在状态栏下方绘制的。 如果设置为“false”,我会得到上面的结果。 有没有一个明确的文章,解释了这个标签的使用和幕后。

  2. 我将ScrimInsetFrameLayout上的“insetForeground”设置为透明。 另外在主题中,我将状态栏颜色设置为透明。 但仍然有保护形象。 如何使状态栏完全透明。

请帮助我一个指针或演示项目。 也让我知道,如果我不清楚或需要更多的信息。

Solutions Collecting From Web of "在android中探索fitsSystemWindows和透明状态栏"

这对我有用。

layout.xml

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="@dimen/detail_backdrop_height" android:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <ImageView android:id="@+id/backdrop" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:scaleType="centerCrop" app:layout_collapseMode="parallax" /> <android.support.v7.widget.Toolbar android:id="@+id/parallax_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <FrameLayout android:id="@+id/fragmentContainer" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout> 

并在styles.xml v-21中使用透明颜色设置statusBarColor属性

将以下行添加到您不希望工具栏重叠的视图中:

 app:layout_behavior="@string/appbar_scrolling_view_behavior"