안드로이드 앱 개발

RecyclerView활용하여 GridView 만들기 본문

안드로이드앱/RecyclerView

RecyclerView활용하여 GridView 만들기

스텝바이스텝안드로이드 2021. 3. 26. 09:42

1. ListView 만들기와 95% 유사하므로
Listview 글을 참고하고 

 

다만, LayoutManager에 GridLayoutManger를 선언해서 연결해주고

컬럼의 수만 추가로 파라미터에 넣어주면 된다.

 

 

 int numberOfCoulmns = 2;
        recyclerView.setLayoutManager(new GridLayoutManager(getActivity(),numberOfCoulmns));
        recyclerView.setAdapter(adapter_messages);

        RecyclerDecoration_Height decoration_height = new RecyclerDecoration_Height(20);
        recyclerView.addItemDecoration(decoration_height);

        RecyclerDecoration_Width decoration_width = new RecyclerDecoration_Width(20);
        recyclerView.addItemDecoration(decoration_width);

* 리스트뷰에서는 신경쓸 필요 없던 컬럼간의 간격은

RecyclerDecoration 클래스를 따로 만들어서 사용했다. 

 

public class RecyclerDecoration_Width extends RecyclerView.ItemDecoration {
    private final int divWidth;

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


    @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.right = divWidth;
        }
    }

}