0

我在两个RecyclerView. 第一个类似于文件夹列表,将第一项显示为封面,单击它会打开一个新视图,显示文件夹内容,将封面设置为第一项。单击后退会将所有可见视图动画化回它们来自的文件夹(封面是最顶部的视图)。只要打开的文件夹显示第一项,这看起来就很棒。如果我向下滚动第一个项目将在屏幕外,并且后退动画看起来不再那么好,因为封面视图没有动画(我目前只为所有可见视图制作动画)。

我认为可行的方法如下:LayoutManager可以将第一个项目定位在屏幕外不久的位置,并将其作为特殊视图保存在它的池中,以便您始终可以访问第一个视图,当我动画回到文件夹视图时,我可以制作动画除了所有其他当前可见的项目之外的封面(封面将从屏幕顶部动画)。

这意味着我需要以下内容:

  • 必须将LayoutManager第一个项目作为未回收的特殊项目处理(我可能随时需要它用于后退动画)
  • 第一项必须始终布局(在列表中的默认位置,如果它是可见的或直接在屏幕上方的屏幕外),再次因为我可能随时需要它来制作后退动画

有人可以帮我从哪里开始吗?我认为这可以通过扩展来实现,LayoutManager但我不知道从哪里开始......

4

1 回答 1

0

您是否尝试过以下操作?

recView.getRecycledViewPool().setMaxRecycledViews(TYPE_XXXX, 0);
于 2016-10-12T20:03:00.497 回答