在android

时间:2015-12-15 19:57:52

标签: android imageview android-recyclerview parallax

我的问题是,我想为他们的卡创建一个带有图像的RecyclerView(不知道我应该使用CardView还是简单的相对布局)。

如果向下滚动,图像会以一种重叠方式向上移动:

  • 看到第一张卡
  • 当y = 0的第二张卡击中屏幕顶部时,它开始收缩并且下一张卡开始向上移动(覆盖前一张卡的空间)并且当完全显示时它向上移动直到下一张卡需要移过前一个。

我知道这个描述是蹩脚的,我不知道如何展示它。它在某种程度上类似于Parallax,但我不确切知道如何实现这一目标。我是否需要写一张卡片缩小的完整计算方法。

  • 如果是这样,我在哪里把它放在recyclerView中滚动?
  • 我自己制作RecyclerView类或LayoutManager吗?

我只想指出正确的方向开始试验,但我不知道从哪里开始。

我已经为图像和内容创建了带有自定义适配器的基本RecyclerView,但现在我需要为列表添加此自定义滚动。

1 个答案:

答案 0 :(得分:2)

我建议您使用RecyclerView的OnScrollListener(您可以找到有关它的更多信息here)。

我在想如何实现的是你可以从回收者视图中获取第一个可见元素和最后一个可见元素并计算边距,例如,你可以设置最可见元素的底部 - mergin high(-ve),当你移动到中心时稍微减少。在中心设置为零。并且从中心到底部以相同的方式设置底部边距,但是按顺序排列。

喜欢像这样的东西:

Visible item  |  bottom-magrin
    10        |      -20
    11        |      -15
    12        |      -10
    13        |      -05
    14        |       00
    15        |      -05
    16        |      -10
    17        |      -15
    18        |      -20

您可以将其设置为没有可见项目,这只是一个示例。

希望它可以帮助您开始并使用它来了解更多信息。

修改:要获取可见的项目,请参阅以下答案:https://stackoverflow.com/a/25053500/1820644