gpt4 book ai didi

android - 如何使用 clipToPadding=false 向 RecyclerView 添加额外空间以防止过早回收

转载 作者:行者123 更新时间:2023-11-30 00:45:46 27 4
gpt4 key购买 nike

我有以下布局:

<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 的 View 在 SearchView 后面滚动,因此 clipChildren 和 clipToPadding 设置为 false。我的问题是 RecyclerView 正在(正确地)回收它的适配器的 View ,当它们仍然可见时,只是因为它们不在 RecyclerView 的区域。有没有办法为 RecyclerView 添加一个额外的空间,其中的 View 不被回收?

编辑,显示问题的 gif:

the behaviour

最佳答案

此方法应该可以帮助您setItemViewCacheSize(int size)。它设置在将它们添加到可能共享的回收 View 池之前要保留的离屏 View 数。关于它的更多信息,您可以找到 here .

关于android - 如何使用 clipToPadding=false 向 RecyclerView 添加额外空间以防止过早回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41830544/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com