如何在顶部的第一个项目装饰后剪辑 recyclerView

Posted

技术标签:

【中文标题】如何在顶部的第一个项目装饰后剪辑 recyclerView【英文标题】:How do I clip recyclerView after first item decoration at the top 【发布时间】:2018-04-09 11:06:53 【问题描述】:

我在RecyclerView 的第一个(顶部)子级之前添加了一个固定的ItemDecoration(标题部分)。

当我滚动RecyclerView 时,第一项位于标题部分的后面。由于该部分是透明的,因此看起来该部分和第一项重叠。

如何剪辑RecyclerView 以免发生重叠?

【问题讨论】:

你能张贴你的意思的截图吗?很难想象你的意思 我在上面的问题中添加了一个.gif文件。 请也发布您的布局文件。我有一个解决方案,只是想确保我认为是正确的 @Kushan - 布局文件没有任何特殊代码。它只是一个带有 TextView 项目的 recyclerView。上面以红色显示的标题文本(例如 A、B、C 等)是使用 ItemDecorations 添加的。谢谢。 是的,但由于 A 是静态的,我想知道它是否是一个单独的视图,而不是 recyclerview 的一部分 【参考方案1】:

我假设您的ItemDecoration 使用DrawOver() 作为粘性标题。尝试为RecyclerView 设置顶部填充,其高度等于标题android:paddingTop="somedp" 的高度并设置android:clipToPadding="true"。请参阅 this Stack Overflow answer 以获取关于剪辑到填充的详细说明。

您可能需要调整物品装饰的绘制方式,但这应该可以防止您的物品滑到标题下方。

【讨论】:

以上是关于如何在顶部的第一个项目装饰后剪辑 recyclerView的主要内容,如果未能解决你的问题,请参考以下文章

如何使用顶部的按钮在 Flash 中缩放影片剪辑

RecyclerView - 如何平滑滚动到嵌套滚动视图内某个位置的项目顶部?

如何将我的 Recycler View 设计为与 Chanel App 的设计相似?

如何将“SliverPersistentHeader”固定在顶部,直到向下滚动后到达“SliverList”的第一项?

UINavigationBar 剪辑顶部内容

使用 Grid Layout Manager 等间距的 Android Recycler 视图不起作用