Bil*_*kki 20 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 getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
int position = parent.getChildAdapterPosition(view);
if (position != 0)
outRect.top = mSpace;
}
}
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.addItemDecoration(new ItemDecorator(-80));
Run Code Online (Sandbox Code Playgroud)
这会导致顶部项目在顶部项目重叠之后堆叠最低项目和下一个项目.我希望顶级项目与下一个项目重叠,依此类推.
目前来看
必需的视图
Tas*_*eem 11
尝试这种方式并反向渲染您的回收者视图.
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setReverseLayout(true);
layoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager(layoutManager);
Run Code Online (Sandbox Code Playgroud)
这是GitHub Link的工作示例
截至 2020 年,有新的接口ChildDrawingOrderCallback。它定义了回收器视图中绘制元素的顺序。可以这样使用:
class BackwardsDrawingOrderCallback : RecyclerView.ChildDrawingOrderCallback {
override fun onGetChildDrawingOrder(childCount: Int, i: Int) = childCount - i - 1
}
Run Code Online (Sandbox Code Playgroud)
进而
recyclerView.setChildDrawingOrderCallback(BackwardsDrawingOrderCallback())
Run Code Online (Sandbox Code Playgroud)
因此,不再需要设置反向顺序和堆栈。
| 归档时间: |
|
| 查看次数: |
5286 次 |
| 最近记录: |