android – RecyclerView分离视图仍然可见

前端之家收集整理的这篇文章主要介绍了android – RecyclerView分离视图仍然可见前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当前场景

我使用这个库https://github.com/kanytu/android-parallax-recyclerview来实现对RecyclerView的视差效果.到现在为止还挺好.不过,我希望得到一个效果,如Google书报摊,标题仍然在卡片上.

问题

问题是RecyclerView(或LinerLayoutManager)在列表的第一个元素触及父视图顶部的那一刻分离头视图:

正如你可以看到第一张cardview触摸顶部的那一刻RecyclerView分离标题的那一刻.

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

试用解决方

我尝试了许多事情,如:

ViewHolder.setIsRecyclable使用这种方法设置持有者不回收者没有任何效果.

LayoutManager.ignoreView我尝试标记视图被忽略,从而可以进行分层和回收.结果是一个例外说:
试图回收一个被忽略的视图持有者.在调用回收之前,应先调用stopIgnoringView(view).

setItemViewCacheSize不做任何事情尝试调用setItemViewCacheSize(50),它不会对标题做任何事情.

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

结论

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

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

解决方法

您可以使用新的设计支持库的CoordinatorLayout与您的回收器视图,并产生相同的效果,没有这样的问题.

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

猜你在找的Android相关文章