RecyclerView 란?
RecyclerView는 한정적인 화면에 많은 데이터를 넣을 수 있는 View 입니다.
Recycle을 한국어로 하면 재활용하다 라는 뜻입니다.
즉 View를 재활용해서 사용하겠다는 말입니다.
RecyclerView는 ListView의 단점을 보완하기 위해서 나왔습니다.
사용자가 스크롤 할 때, 위에 있던 아이템은 재활용 돼서 아래로 이동하여 재사용 합니다.
RecyclerView 특징
RecyclerView를 사용하면 대량의 데이터 세트를 효율적으로 표시할 수 있습니다. 개발자가 데이터를 제공하고 각 항목의 모양을 정의하면 RecyclerView 라이브러리가 필요할 때 요소를 동적으로 생성합니다.
이름에서 알 수 있듯이 RecyclerView는 이러한 개별 요소를 재활용합니다. 항목이 스크롤되어 화면에서 벗어나더라도 RecyclerView는 뷰를 제거하지 않습니다. 대신 RecyclerView는 화면에서 스크롤된 새 항목의 뷰를 재사용합니다. 이렇게 뷰를 재사용하면 앱의 응답성을 개선하고 전력 소모를 줄이기 때문에 성능이 개선됩니다.
RecyclerView의 항목은 LayoutManager 클래스를 통해 정렬됩니다. RecyclerView 라이브러리는 가장 일반적인 레이아웃 상황을 처리하는 3가지 레이아웃 관리자를 제공합니다.
- LinearLayoutManager는 항목을 1차원 목록으로 정렬합니다.
- GridLayoutManager는 모든 항목을 2차원 그리드로 정렬합니다.
- 그리드가 세로로 정렬된 경우 GridLayoutManager는 각 행의 모든 요소를 동일한 너비와 높이로 만들려고 하지만 행마다 높이가 다를 수 있습니다.
- 그리드가 가로로 정렬되는 경우 GridLayoutManager는 각 열의 모든 요소를 동일한 너비와 높이로 만들려고 열마다 너비가 다를 수 있습니다.
- StaggeredGridLayoutManager는 GridLayoutManager와 비슷합니다. 하지만 행의 항목이 동일한 높이(세로 그리드인 경우)이거나 동일한 열의 항목이 동일한 너비(가로 그리드인 경우)일 필요가 없습니다. 결과적으로 행 또는 열의 항목이 서로 오프셋 상태가 될 수 있습니다.
RecycleView의 필수 요소
Adapter
Adapter란 데이터 테이블을 목록 형태로 보여주기 위해 사용되는 것으로,
데이터를 다양한 형식의 리스트 형식을 보여주기 위해서 데이터와 RecyclerView 사이에 존재하는 객체이다.
-즉 데이터와 RecyclerView 사이의 통신을 위한 연결체이다.
ViewHolder
ViewHolder란 화면에 표시될 데이터나 아이템들을 저장하는 역할 입니다.
RecyclerView의 개념을 적용하기 위해선 스크롤 해서 위로 올라간 View를 재활용하기 위해서 이 View를 기억하고 있어야 합니다.
ViewHolder가 그역할을 합니다.
직접 구현해보기
NineFragment.java
1 2
3
fragment_nine.xml
홈 탭(RecyclerView -> TextView)
TabHomeFragment.java
fragment_home.xml
item_products.xml Item
TestAdapter
내 정보 탭(RecyclerView -> + img,GridLayout)
TabMyFragment.java
drawable 폴더에 원하는 이미지파일 추가
fragment.xml
item_card.xml itemMy
TestMyAdapter
실행 영상
'App > Layout' 카테고리의 다른 글
TabLayout (0) | 2023.12.28 |
---|---|
GridLayout (0) | 2023.12.28 |
TableLayout (0) | 2023.12.28 |
ConstraintLayout(계산기 모양 만들어보기) (0) | 2023.12.27 |
RelativeLayout (0) | 2023.12.27 |