微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐