Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android RecyclerView overlap items (Card stacks)

How can I overlap items in RecyclerView? Like stacking cards.

Thanks in advance.

like image 809
shiami Avatar asked Aug 31 '15 20:08

shiami


1 Answers

To overlap recyclerView rows, you can use this.

Add this class to your activity. You can customize the vertOverlap.

   public class OverlapDecoration extends RecyclerView.ItemDecoration {

    private final static int vertOverlap = -40;

    @Override
    public void getItemOffsets (Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        final int itemPosition = parent.getChildAdapterPosition(view);
        if (itemPosition == 0) {
            return; }
        outRect.set(0, vertOverlap, 0, 0);


    }
} `

After that add your decoration to recyclerView before setting its layout manager, and we are done.

    mRecyclerView.addItemDecoration(new OverlapDecoration());
    mRecyclerView.setLayoutManager(new LinearLayoutManager(this));

Thanks to the @MojoTosh https://stackoverflow.com/a/29067942/6255073

like image 184
opsenes Avatar answered Sep 21 '22 16:09

opsenes