AppBarLayout子项的奇怪行为

时间:2018-10-04 12:57:00

标签: android android-coordinatorlayout android-appbarlayout

我的布局如下:

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:animateLayoutChanges="true"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:elevation="0dp">

        <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="24dp"
            android:background="@color/someColor"
            app:layout_scrollFlags="scroll|exitUntilCollapsed" >
        </android.support.constraint.ConstraintLayout>

        <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <View
                android:layout_width="wrap_content"
                android:layout_height="56dp"/>
        </android.support.constraint.ConstraintLayout>

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

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <View
            android:layout_width="match_parent"
            android:layout_height="10000dp"
            android:minHeight="1000dp" />

    </android.support.v4.widget.NestedScrollView>

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

滚动时,第一个ConstraintLayout崩溃的效果与预期的一样。 但是,如果我将其高度更改为23dp,则它根本不会折叠。是什么原因造成的?为什么应用此限制?

1 个答案:

答案 0 :(得分:1)

您实际上不需要两个ConstraintLayout。但是,问题似乎出在第二个标记exitUntilCollapsed上。如果您正在寻找滚动折叠,可以尝试添加:

app:layout_scrollFlags="scroll|snap"

或者:

app:layout_scrollFlags="scroll|enterAlways"

您的看法。

exitUntilCollapsed似乎是在CollapsingToolbarLayout中使用的最佳选择。