정상에서 IT를 외치다

[Android, RecyclerView] 리사이클러뷰 레이아웃 매니저 종류 본문

안드로이드

[Android, RecyclerView] 리사이클러뷰 레이아웃 매니저 종류

Black-Jin 2018. 9. 18. 15:52
반응형


안녕하세요. 블랙진입니다.


리사이클러뷰의 다양한 형태에 대해 포스팅 해보겠습니다.


이전 포스팅이였던 '리사이클러뷰 만들기' 예제를 사용했습니다.



4가지 LayoutManager


리사이클러뷰는 4가지 형태의 레이아웃을 만들 수 있습니다. 각 레이아웃들이 어떻게 보여지는지 이미지와 함께 설명하겠습니다.


//recycleView 초기화
RecyclerView recyclerView = findViewById(R.id.recycler_view);

//불규칙 레이아웃
StaggeredGridLayoutManager staggeredGridLayoutManager
= new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);

//그리드 레이아웃
GridLayoutManager gridLayoutManager
= new GridLayoutManager(this,2);

//가로 레이아웃
LinearLayoutManager horizonalLayoutManager
= new LinearLayoutManager(this, LinearLayout.HORIZONTAL, false);

//세로 레이아웃
LinearLayoutManager linearLayoutManager
= new LinearLayoutManager(this);

//레이아웃 매니저 연결
recyclerView.setLayoutManager(linearLayoutManager);





1. 세로 레이아웃


세로 스크롤이 가능합니다.



코드

//세로 레이아웃
LinearLayoutManager linearLayoutManager
= new LinearLayoutManager(this);




2. 가로 레이아웃


가로 스크롤이 가능합니다.



코드

//가로 레이아웃
LinearLayoutManager horizonalLayoutManager
= new LinearLayoutManager(this, LinearLayout.HORIZONTAL, false);




3. 그리드 레이아웃


아래 그림과 같이 타일 느낌의 뷰를 만들 수 있습니다.

그리드 레이아웃 매니저에서 spanCount 를 통해 한 줄에 몇개의 아이템이 들어갈지 정할 수 있습니다.

public GridLayoutManager(Context context, int spanCount) {
super(context);
this.setSpanCount(spanCount);
}


_spanCount 2 설정



코드

//그리드 레이아웃
GridLayoutManager gridLayoutManager
= new GridLayoutManager(this,2);



_spanCount 3 설정



코드

//그리드 레이아웃
GridLayoutManager gridLayoutManager
=
new GridLayoutManager(this,3);




4. 불규칙 레이아웃


핀터레스트와 같은 화면을 구성할 수 있습니다.

아이템의 높이에 따라 불규칙 적으로 타일을 배치합니다.

그리드 레이아웃과 마찬가지로 spanCount 를 제어할 수 있습니다.

public StaggeredGridLayoutManager(int spanCount, int orientation) {
this.mOrientation = orientation;
this.setSpanCount(spanCount);
this.mLayoutState = new LayoutState();
this.createOrientationHelpers();
}


_spanCount 2 설정



코드

//불규칙 레이아웃
StaggeredGridLayoutManager staggeredGridLayoutManager
= new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);


이렇게 4가지 형태의 리사이클러뷰를 살펴 보았습니다.

사용하시면서 안되거나 궁금하신 내용이 있다면 언제든지 댓글 부탁드리겠습니다.

자신의 프로젝트에 맞는 레이아웃을 사용해 멋진 코딩 하시기 바랍니다. 안뇨옹~!


반응형
Comments