折叠工具栏显示额外的间距

时间:2017-04-26 08:56:33

标签: android android-layout android-collapsingtoolbarlayout

在我的布局中,我在CollapsingToolbar内部有AppBarLayout布局,它按预期在状态栏下方绘制。我的布局xml如下所示

  <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/toolbar_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:titleEnabled="false"
            app:layout_scrollFlags="scroll|exitUntilCollapsed|enterAlways|snap">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:foreground="@drawable/header_overlay"
                android:scaleType="fitXY"
                android:fitsSystemWindows="true"
                android:src="@drawable/project_list_header"
                app:layout_collapseMode="parallax"/>


            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:popupTheme="@style/AppTheme.PopupOverlay"/>

            <TextView
                android:id="@+id/text_search"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="?attr/actionBarSize"
                android:layout_marginTop="?attr/actionBarSize"
                android:layout_marginLeft="@dimen/spacing_16"
                android:layout_marginRight="@dimen/spacing_16"
                android:background="@drawable/search_background"
                android:drawableLeft="@drawable/ic_search_black"
                android:drawablePadding="@dimen/spacing_12"
                android:gravity="center_vertical"
                android:layout_gravity="bottom"
                android:hint="@string/search_project_hint"
                android:paddingBottom="@dimen/spacing_14"
                android:paddingLeft="@dimen/spacing_14"
                android:paddingRight="@dimen/spacing_14"
                android:paddingTop="@dimen/spacing_14"
                android:textColorHint="@color/black_70"
                android:textSize="@dimen/text_14"
                tools:hint="@string/search_project_hint">
            </TextView>
            <android.support.design.widget.TabLayout
                android:id="@+id/tab_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                app:layout_collapseMode="pin"
                app:tabGravity="fill"
                app:tabMode="fixed"/>

        </android.support.design.widget.CollapsingToolbarLayout>


    </android.support.design.widget.AppBarLayout>

这给出了以下屏幕

Normal image

但是当我向下滚动时,它会在AppBarLayout

的顶部和底部产生额外的黑色间距

Extra spacing

如果我从enterAlways删除app:layout_scrollFlags标记,那么额外的间距就会消失,但是当我向上滚动时AppBar不显示。

那么如何删除该间距并在向上滚动时显示AppBar

1 个答案:

答案 0 :(得分:0)

回复为时已晚,但我认为此解决方案可能对您有所帮助: -

      <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        app:contentInsetRight="0dp"
        app:contentInsetEnd="0dp"
        android:contentInsetRight="0dp"
        android:contentInsetEnd="0dp"
        android:paddingEnd="0dp"
        android:paddingTop="0dp"
        app:layout_collapseMode="parallax"
        app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
        app:titleEnabled="false">