RecyclerView分离视图仍然可见

Ped*_*ira 10 android android-recyclerview

目前的情况

我正在使用这个库https://github.com/kanytu/android-parallax-recyclerview来实现RecyclerView的视差效果.到现在为止还挺好.不过,我希望得到像Google报亭这样的效果,标题仍然低于卡片.

问题

问题是,当列表的第一个元素触及父视图的顶部时,RecyclerView(或LinerLayoutManager)会分离标题视图:

在此输入图像描述

正如您所看到的那样,第一张cardview触及顶部的那一刻就是RecyclerView分离标题的那一刻.

我确信RecyclerView.findViewHolderForPosition(0) == null当卡到达顶部时,我得到的逻辑本身没有问题.证明标题已被回收.

试过的解决方案

我尝试过很多东西:

ViewHolder.setIsRecyclable使用此方法将持有者设置为不回收者不会产生任何影响.

LayoutManager.ignoreView我尝试将视图标记为从scapping和recycle中忽略.结果是一个例外说: Trying to recycle an ignored view holder. You should first call stopIgnoringView(view) before calling recycle.

setItemViewCacheSize什么都不做.尝试调用setItemViewCacheSize(50)它并没有对标题做任何事情.

setMaxRecycledViews尝试将viewType = HEADER的回收视图的最大值设置为0,并且它仍然可以回收它.

结论

所以我怀疑是否有任何方式标记该项目没有分离,直到我订购(如检查它是否仍然可见,然后分离它).

关于它的github还有一个问题:https://github.com/kanytu/android-parallax-recyclerview/issues/7

Ahm*_*aat 1

您可以将新设计支持库的 CoordinatorLayout 与您的 recyclerview 一起使用,并实现相同的效果,而不会出现此类问题。

检查此链接:http://android-developers.blogspot.com/2015/05/android-design-support-library.html