我有以下布局:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false">
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_alignParentBottom="true"
android:layout_below="@+id/searchView"
android:clipChildren="false"
android:clipToPadding="false"
android:scrollbars="vertical"
app:layoutManager="android.support.v7.widget.LinearLayoutManager"/>
<SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
这是SearchView下面的简单RecyclerView。我希望RecyclerView的视图在SearchView后面滚动,因此clipChildren和clipToPadding设置为false。 我的问题是,当它们仍然可见时,RecyclerView(正确地)回收它的适配器视图,因为它们不在RecyclerView的区域。有没有办法在RecyclerView中添加额外的空间,在这些空间中不会回收视图?
编辑,一个显示问题的GIF:
答案 0 :(得分:1)
此方法可以帮助您setItemViewCacheSize(int size)
。它设置在将其添加到可能共享的回收视图池之前要保留的屏幕外视图的数量。有关它的更多信息,您可以找到here。