일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 면접
- 어떻게 나답게 살 것인가
- 끝말잇기
- 함수형 프로그래밍
- 한단어의힘
- 프래그먼트
- 좌식테이블
- 한달독서
- 지지않는다는말
- 베드트레이
- 1일1커밋
- 자취필수템
- 소프시스
- 리얼하다
- 북한살둘레길
- 한달브런치북만들기
- 목적중심리더십
- 브런치작가되기
- 아비투스
- 한달어스
- T자형인재
- 슬기로운 온라인 게임
- 커스텀린트
- 베드테이블
- 테트리스
- 목적 중심 리더십
- 소프시스 밤부 좌식 엑슬 테이블
- 캐치마인드
- 안드로이드
- 재택근무
- Today
- Total
정상에서 IT를 외치다
[Android, RecyclerView] 리사이클러뷰 레이아웃 매니저 종류 본문
안녕하세요. 블랙진입니다.
리사이클러뷰의 다양한 형태에 대해 포스팅 해보겠습니다.
이전 포스팅이였던 '리사이클러뷰 만들기' 예제를 사용했습니다.
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가지 형태의 리사이클러뷰를 살펴 보았습니다.
사용하시면서 안되거나 궁금하신 내용이 있다면 언제든지 댓글 부탁드리겠습니다.
자신의 프로젝트에 맞는 레이아웃을 사용해 멋진 코딩 하시기 바랍니다. 안뇨옹~!
'안드로이드' 카테고리의 다른 글
[Android, Dagger2] DI 기본 개념과 Dagger2 사용 예제 - 놈!놈!놈! (6) | 2018.10.01 |
---|---|
[Android, ItemDecoration] 리사이클러뷰에 아이템데코레이션 사용하기 (2) | 2018.09.19 |
[Android, RecyclerView] 리사이클러 뷰 만들기 (12) | 2018.09.18 |
[Android, URL Scheme] 외부 스킴 사용하여 앱 실행하기 (9) | 2018.09.17 |
[Android, realm migration] Realm Migration 적용하기 (0) | 2018.09.14 |