AppBarLayout 的奇怪行为 child

Strange behavior of AppBarLayout child

我有以下布局:

<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,则它根本不会折叠。是什么原因造成的?为什么应用此限制?

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

app:layout_scrollFlags="scroll|snap"

或者:

app:layout_scrollFlags="scroll|enterAlways"

对您的看法。

exitUntilCollapsed 似乎是在 CollapsingToolbarLayout.

中使用的最佳选择