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性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...