코딩스토리

[Android/안드로이드] RecyclerView LayoutManager타입별 사용하기 본문

Android/유용한 기술

[Android/안드로이드] RecyclerView LayoutManager타입별 사용하기

라크라꾸 2020. 9. 11. 00:11

이번 포스팅에서는 RecyclerView를 사용하면서 상하로 리스트를 보여줄 것인지, 좌우로 리스트를 보여줄것인지, Grid형식으로 리스트를 보여줄 것인지에 대한 타입을 지정해주는 LayoutManager에 대해 소개해드리겠습니다.

 

LinearLayoutManager : 수평,수직으로 배치시켜주는 레이아웃 매니저입니다.

GridLayoudManager : 그리드 화면으로 배치(2단,3단진열 등)시켜주는 레이아웃 매니저입니다.

StaggeredGridLayoutManager : 높이가 불규칙한 그리드 화면으로 배치시켜주는 레이아웃 매니저입니다.

 

LinearLayoutManager

가장 기본적인 LinearLayoutManager의 수직(상하)으로 리스트를 보여주는 LayoutManager입니다.

        
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        recyclerView.setLayoutManager(linearLayoutManager);
        

 

LinearLayoutManager 수평(좌우)으로 리스트를 보여주는 LayoutManager입니다.

        
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        recyclerView.setLayoutManager(linearLayoutManager);
        

 

GridlayoutManager

GridLayoutManager의 수직(상하)으로 2개의 뷰홀더를 리스트를 보여주는 LayoutManager입니다.

 

		
        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 2);
        recyclerView.setLayoutManager(gridLayoutManager);
                

 

GridLayoutManager를 조금 더 다양하게 이용을 해보자면 열의 개수 이외에도 방향을 지정하는 것도 가능합니다. 수평(좌우)으로 2개의 뷰홀더를 리스트를 보여주는 LayoutManager입니다. 

		
        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 2, GridLayoutManager.HORIZONTAL, false);
	recyclerView.setLayoutManager(gridLayoutManager);
        

 

StaggeredGridLayoutManager

 

마지막으로 불규칙한 Grid형식으로 리스트를 보여주는 StaggeredGridLayoutManager가 있습니다.

 

Sample코드는 기존의 RecyclerView를 설명한 글에서 layoutManager의 형태만 바꿔주기만 하면 되므로 생략하도록 하겠습니다.

2019/12/19 - [Android/유용한 기술] - [Android/안드로이드] RecyclerView(리사이클러뷰) 뷰 재활용하기

 

[Android/안드로이드] RecyclerView(리사이클러뷰) 뷰 재활용하기

기존의 ListView는 커스터마이징 하기에도 힘들었고, 구조적인 문제로 성능상의 문제가 있었기 때문에 보다 유연하고 성능이 향상된 RecyclerView가 생겨났습니다. RecyclerView와 ListView의 가장 큰 차이�

lakue.tistory.com

 

Comments