【发布时间】:2019-02-02 00:34:18
【问题描述】:
长期以来,我一直在努力实现这一目标。我想要的是从左右重叠选定的RecyclerView项目,如下图所示。
我可以通过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)
}
}
}
我已经尝试过CarouselLayoutManager,但这不是我想要的。
【问题讨论】:
-
将 itemDecoration(一次将重叠值分配给左端和右端)设置为 selctedItem 并将 null 设置为另一个没有帮助?
-
@VirRajpurohit 已经试过了,不行!
-
@Maddy 你试过用动画来做吗?这是类似的问题stackoverflow.com/q/33269409/548208
-
@DhruvMevada 是的,它也给出了与负边距的 ItemDecoration 相同的结果。
-
也许这个库可以帮助你,虽然我自己从来没有用过 - github.com/yarolegovich/DiscreteScrollView
标签: android android-recyclerview kotlin item-decoration