在我的RecyclerView
中,每个CardView
组都有一个标题图片。图像延伸到第一张卡片视图下方,以创建漂亮的视觉效果。我通过创建图像标题视图保持器来实现此目的,并将每个组中第一个CardView
的偏移设置为负(使用ItemDecoration
)。但是,正如您在屏幕底部看到的那样,CardView
在完全脱离屏幕之前就会消失。
我的自定义项目装饰
class OffsetItemDecoration(val offset: Int, val itemPositions: Array<Int>) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State?) {
super.getItemOffsets(outRect, view, parent, state)
val position = parent.getChildAdapterPosition(view)
val layoutManager = parent.layoutManager
if (!itemPositions.contains(position) || layoutManager !is LinearLayoutManager) {
return
}
outRect.top = offset
}
}
在我的MainActivity
:
val itemOffset = OffsetItemDecoration(-150, arrayOf(1, 5))
recycler_view.addItemDecoration(itemOffset)
其他获得相同效果的方法的建议也将受到赞赏