Java Recyclerview-从下到上重叠项目
我已经为如下项目设置了负边际:- ItemDecoration.javaJava Recyclerview-从下到上重叠项目,java,android,android-recyclerview,Java,Android,Android Recyclerview,我已经为如下项目设置了负边际:- ItemDecoration.java public class ItemDecorator extends RecyclerView.ItemDecoration { private final int mSpace; public ItemDecorator(int space) { this.mSpace = space; } @Override public void getItemOffset
public class ItemDecorator extends RecyclerView.ItemDecoration {
private final int mSpace;
public ItemDecorator(int space) {
this.mSpace = space;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
int position = parent.getChildAdapterPosition(view);
if (position != 0)
outRect.top = mSpace;
}
}
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.addItemDecoration(new ItemDecorator(-80));
MainActivity.java
public class ItemDecorator extends RecyclerView.ItemDecoration {
private final int mSpace;
public ItemDecorator(int space) {
this.mSpace = space;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
int position = parent.getChildAdapterPosition(view);
if (position != 0)
outRect.top = mSpace;
}
}
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.addItemDecoration(new ItemDecorator(-80));
这会导致顶部项目堆叠在顶部项目重叠后的最低和下一个项目。我希望顶部的项目与其下一个项目重叠,依此类推
当前视图
所需视图
尝试覆盖此方法
@Override
public int getItemViewType(int position) {
return super.getItemViewType(position);
}
尝试这种方法并以相反方向渲染回收器视图
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setReverseLayout(true);
layoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager(layoutManager);
以下是工作示例自2020年起,有了新的界面。它定义了回收器视图中图形元素的顺序。可以这样使用:
class BackwardsDrawingOrderCallback : RecyclerView.ChildDrawingOrderCallback {
override fun onGetChildDrawingOrder(childCount: Int, i: Int) = childCount - i - 1
}
然后
recyclerView.setChildDrawingOrderCallback(BackwardsDrawingOrderCallback())
因此,不再需要设置反向顺序或从末尾开始堆叠。谢谢您的回答。非常感谢。我想你明白我的问题了。为了更好地理解我的要求,我添加了图片。请看一看。完美的答案!如果有人在使用Bilal的ItemDecorator,当您这样做时,最后一张卡将位于顶部。因此,请确保不希望偏移的位置不是0,而是itemCount-1。此外,此顶部项目将是项目3,而不是item1@Tasneem其显示反向列表第一项是最后一项,最后一项是first@Tasneem顶部项目视图与底部项目重叠的任何解决方案view@NikunjParadva您必须反转输入列表才能工作,或者忽略反转并为项目视图设置z索引。