gpt4 book ai didi

android - 如何将左侧和右侧的 ItemDecoration 都应用于 RecyclerView 项目?

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:18 24 4
gpt4 key购买 nike

长期以来,我一直在努力实现这一目标。我想要的是将选定的 RecyclerView 项从左到右重叠,如下图所示。

enter image description here enter image description here

我可以通过 ItemDecoration 实现向左或向右的效果,如下所示:

class OverlapDecoration(private val overlapWidth:Int) : RecyclerView.ItemDecoration() {
private val overLapValue = -40

val TAG = OverlapDecoration::class.java.simpleName

override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State?) {

val itemPosition = parent.getChildAdapterPosition(view)

if (itemPosition == 0) {
return
} else {
outRect.set(overLapValue, 0, 0, 0)
}
}
}

到目前为止,我已经实现了如下图所示。 enter image description here

我已经尝试过 CarouselLayoutManager但这不是我要找的。

最佳答案

要获得您正在寻找的结果,您需要采取两个步骤:

首先,修正装饰器的计算:

if (itemPosition == 0) {
return
} else {
outRect.set(-1 * overLapValue, 0, overLapValue, 0) //Need left, AND right
}

其次,你需要实际添加阴影

并且,对类进行快速清理,您不需要 private val overLapValue

改为:

class OverlapDecoration(private val overlapWidth:Int = 40) : RecyclerView.ItemDecoration() {

关于android - 如何将左侧和右侧的 ItemDecoration 都应用于 RecyclerView 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52039853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com