我有一个RecyclerView
,有孩子可以随时扩展。此屏幕顶部还有一个CollapsingToolbarLayout
,当RecyclerView
的孩子扩展时会崩溃。这是打算当我然后滚动RecyclerView
时,折叠视图将突然扩展到完整大小。
我认为这种情况正在发生,因为当孩子被展开并且工具栏崩溃时,它会认为用户在滚动时将其折叠了。但是因为没有涉及触摸,当我随后滚动自己时,RecyclerView
仍然认为视图就在那里。
知道如何停止自动折叠或让RecylerView使用折叠视图的位置进行更新?
代码,如有必要:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/lytChanges"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="89dp"
android:background="@color/colorPrimary"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll">
<reroo.reroo.CustomViews.FontText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/itinerary_changes_margin_top"
android:background="@android:color/transparent"
android:text="Changes:"
android:textAlignment="center"
android:textColor="#B3ffffff"
android:textSize="16sp"
app:layout_collapseMode="pin"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<!--</android.support.percent.PercentRelativeLayout>-->
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:background="@color/grey"
android:focusable="false"
android:foreground="?android:attr/selectableItemBackground"
android:scrollbars="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>
编辑1:我尝试添加enterAlways,enterAlwaysCollapsed和exitUntilCollapsed到我的xml,但我相信这是一个问题,RecyclerView在子画面扩展动画后没有跟踪它的位置。
编辑2:在子级点击后使用notifyItemChanged(位置)会导致RecyclerView为扩展和折叠设置动画,然后在没有任何用户输入的情况下为视图的非折叠设置动画。
首选行为: 动画和崩溃。留。要么 没有动画和崩溃,但在滚动上崩溃