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
.
中使用的最佳选择
我有以下布局:
<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
.