【问题标题】:RecyclerView scrolling shadowRecyclerView 滚动阴影
【发布时间】:2015-01-09 13:58:36
【问题描述】:

我正在尝试创建包含 RecyclerView 的滚动纸。为了实现这一点,我给每个项目一个背景和它自己的阴影。当您仔细观察时,您可以看到这些项目在哪里相遇,因为阴影稍暗。左侧列表还有一个分隔线,它的颜色错误,因为阴影在它后面。

我想知道是否有更好的解决方案。您不能在 RecyclerView 本身上设置背景和阴影,因为这样它就不会滚动屏幕,因为边界不会改变。您不能使用 LinearLayout+ScrollView,因为当项目太多时这会中断。

【问题讨论】:

    标签: android android-5.0-lollipop android-recyclerview


    【解决方案1】:

    我想说只使用 CardView 并在您的 XML 中将 useCompatPadding 设置为 true,以便它添加足够的填充以使阴影不重叠。

    或者,您可以为项目添加边距。

    另一种选择是使用 ItemDecorator,它不会绘制任何内容,但会在 getItemOffsets 方法中为阴影返回足够的边距。

    【讨论】:

    • 这不是我想要的效果。我希望所有列表项都出现在同一张纸上。就像 Google Now 在一张卡片上显示多个地点的天气一样。
    • 对不起,我的问题弄错了。对于分组项目,没有内置的解决方案。如果每张卡片的项目不是太多,只需将它们作为 1 个包含所有项目的项目添加到适配器中,然后使用 CardView 显示它们。如果每张卡片的项目可能会增长很多,那么您可以通过为顶部、底部和中间设置不同的视图类型以及为阴影设置一些自定义可绘制对象来实现。抱歉,没有内置的方法。