관리 메뉴

나만을 위한 블로그

[Android] 리사이클러뷰 아이템 간 가로 / 세로 간격 조절하는 법 본문

Android

[Android] 리사이클러뷰 아이템 간 가로 / 세로 간격 조절하는 법

참깨빵위에참깨빵_ 2020. 6. 22. 21:33
728x90
반응형

아래의 클래스를 만든다.

public class RecyclerViewDecoration extends RecyclerView.ItemDecoration {

    private final int divWidth;

    public RecyclerViewDecoration(int divWidth)
    {
        this.divWidth = divWidth;
    }

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state)
    {
        super.getItemOffsets(outRect, view, parent, state);
        outRect.right = divWidth;
    }
}

 

만약 위아래로 간격이 필요하다면 아래의 클래스를 쓰면 된다.

public class RecyclerViewDecoration extends RecyclerView.ItemDecoration {

    private final int divHeight;

    public RecyclerViewDecoration(int divHeight)
    {
        this.divHeight = divHeight;
    }

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state)
    {
        super.getItemOffsets(outRect, view, parent, state);
        outRect.top = divHeight;
    }
}

 

 

그리고 리사이클러뷰의 addItemDecoration() 안에서 객체화해서 적용하면 끝. 매우 간단하다.

안에 들어가는 숫자는 자신에 맞게 조절하면 된다. 안의 숫자가 클수록 간격이 넓어지고 작을수록 간격이 좁아진다.

둘을 동시에 쓰진 않았지만 아마 되지 않을까?

recyclerview.addItemDecoration(new RecyclerViewDecoration(60));
반응형
Comments