回收视图时,RecyclerView不尊重翻译

Pav*_*dka 8 android android-support-library android-recyclerview

RecyclerView现在正在玩,偶然发现以下问题.当RecyclerView LinearLayoutManager决定是否关闭视图(因此它可以是回收者)时,它不会考虑视图translationY.

所以基本上,当我向上滚动并且我有正面视图时translationY,LinearLayoutManager认为视图在屏幕外,但事实上,它仍然是可见的(因为它被翻译下来).

我注意到LinearLayoutManager这个决定的方式- 通过查看getDecoratedBottom(View),所以我试图覆盖getDecoratedBottom(View)也包括翻译.不幸的是,它完全混淆了布局 - 当我们布置新项目时也会使用此方法,因此新项目会获得额外的翻译(在现有项目之上).

有一种简单的方法来告诉LinearLayoutManager一下translation属性,当其进行有关回收视图W/O重新实现决定LayoutManager从头开始?

Zak*_*man 0

可能会对某人有帮助,我已经找到了解决方案。

首先,我尝试使用翻译动画,但没有成功。但是后来,我刚刚创建了一个新的类来扩展ItemDecoration. 然后重写getItemOffsets()并在 Rect 上设置适当的偏移量。LayoutManager 成功计算了这个偏移量。所达到的结果在附图中。