SmoothAppBarLayout折叠工具栏高度大于预期

时间:2017-03-28 14:23:51

标签: android android-layout android-coordinatorlayout android-appbarlayout android-collapsingtoolbarlayout

我最近用SmoothAppBarLayout

更改了我的AppBarLayout

它更顺畅,更快,所以我对结果感到满意。但这改变了我的工具栏高度,我还无法解决它。

Collapsed ToolBar的高度应为'actionBarSize',但它大于此值。

它不是关于工具栏标题,禁用或更改它的填充不起作用。但这是关于行为。

设置如下所示的新行为可以解决问题,但我想要一个合适的解决方案。

    AppBarLayout.Behavior behavior = new AppBarLayout.Behavior();
    params.setBehavior(behavior);

第一张图片显示预期尺寸,第二张图片显示实际尺寸。

Intended CollapsedToolbar size Results in bigger toolbar size

这是我的XML的一部分:(由于它很长,所以没有全部放入)

    <me.henrytao.smoothappbarlayout.SmoothAppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="210dp"
        android:minHeight="50dp"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:sabl_target_id="@id/nestedScrollView">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsingToolbarLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/transparent"
            android:fitsSystemWindows="true"
            android:minHeight="210dp"
            app:contentScrim="@color/dark_gray_actionbar"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="210dp"
                android:orientation="vertical"
                app:layout_collapseMode="parallax">

                <ImageView
                    android:id="@+id/serviceImage"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:contentDescription="Servis Fotoğrafı"
                    android:scaleType="centerCrop"
                    android:src="@drawable/gray_color_gradient"
                    app:layout_collapseMode="parallax" />
            </RelativeLayout>

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?actionBarSize"
                android:layout_alignParentTop="true"
                android:layout_gravity="center_horizontal"
                app:layout_collapseMode="pin">

            </android.support.v7.widget.Toolbar>
        </android.support.design.widget.CollapsingToolbarLayout>
    </me.henrytao.smoothappbarlayout.SmoothAppBarLayout>

    <include
        layout="@layout/get_quote_layout"
        android:layout_width="match_parent"
        android:layout_height="64dp"
        app:layout_anchor="@id/nestedScrollView"
        app:layout_anchorGravity="bottom"
        app:layout_collapseMode="pin" />


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

1 个答案:

答案 0 :(得分:1)

我认为问题来自fitSystemWindows。您可以按如下方式简化布局:

...
<me.henrytao.smoothappbarlayout.SmoothAppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:sabl_target_id="@id/nestedScrollView">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsingToolbarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/transparent"
        app:contentScrim="@color/dark_gray_actionbar"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="210dp"
            android:orientation="vertical"
            app:layout_collapseMode="parallax">

            <ImageView
                android:id="@+id/serviceImage"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:contentDescription="Servis Fotoğrafı"
                android:scaleType="centerCrop"
                android:src="@drawable/gray_color_gradient"
                app:layout_collapseMode="parallax" />
        </RelativeLayout>

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?actionBarSize"
            android:layout_alignParentTop="true"
            android:layout_gravity="center_horizontal"
            app:layout_collapseMode="pin">

        </android.support.v7.widget.Toolbar>
    </android.support.design.widget.CollapsingToolbarLayout>
</me.henrytao.smoothappbarlayout.SmoothAppBarLayout>
...
相关问题