안드로이드

[안드로이드] 리사이클러뷰 간격 조정

loasd 2023. 1. 4. 00:12
반응형

https://github.com/lnjky/fashion_people

 

GitHub - lnjky/fashion_people: 패션 추천 어플

패션 추천 어플. Contribute to lnjky/fashion_people development by creating an account on GitHub.

github.com

코드 전체를 보려면 위에 링크를 통해 확인할 수 있습니다.


리사이클러뷰의 아이템들의 간격을 띄워주고 싶어서 찾았던 방법이다.

직접 작성한 것은 아니고 따로 저장해두고 나중에 볼 수도 있어 작성하게 되었다.

아래의 링크를 통해 원본을 확인할 수 있다.

https://onlyfor-me-blog.tistory.com/212

 

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

아래의 클래스를 만든다. public class RecyclerViewDecoration extends RecyclerView.ItemDecoration { private final int divWidth; public RecyclerViewDecoration(int divWidth) { this.divWidth = divWidth; } @Override public void getItemOffsets(Rect outR

onlyfor-me-blog.tistory.com

 


우선 자바 클래스파일을 만들어서 다음의 코드로 작성해야 한다.

package com.example.styleplt.utility;

import android.graphics.Rect;
import android.view.View;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

public class RecyclerDecoration extends RecyclerView.ItemDecoration{

    private final int divHeight;


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

    @Override
    public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
        super.getItemOffsets(outRect, view, parent, state);
        if (parent.getChildAdapterPosition(view) != parent.getAdapter().getItemCount() - 1)

            outRect.bottom = divHeight;

    }
}

 

그리고 실제로 간격을 조정해야 하는 Activity나 Fragment에서 다음과 같이 작성해주면 된다.

RecyclerDecoration spaceDecoration = new RecyclerDecoration(10);
mBoardRecyclerView.addItemDecoration(spaceDecoration);

 

RecyclerDecoration() 의 괄호 안에 원하는 높이를 설정해주면 된다.

반응형