[Android] 안드로이드 - View Pager, 게시물을 옆으로 넘기며 보여주기
1. view pager 란?
https://developer.android.com/reference/android/support/v4/view/ViewPager
사용자가 페이지를 좌우로 넘길 수 있는 레이아웃 관리자이다.
마치 책을 넘기는 것처럼(paging) 사용자가 손가락으로 스와이프하여 레이아웃을 옆으로 넘길 수 있다.
뷰 페이저를 이용하면 데이터를 "페이지 단위"로 화면에 표시할 수 있다.
안드로이드에서는 데이터 리스트를 아이템 단위의 뷰 또는 뷰 집합으로 표시할 때 어댑터를 사용한다. 뷰 페이저도 이와 마찬가지로 어댑터를 이용해 각 페이지를 위한 뷰를 생성한다.
View Pager 에서 사용하는 어댑터는 Pager Adapter 이다.
2. view pager 를 어떻게 사용하는가?
(1) 레이아웃에 ViewPager 를 추가한다
(2) 페이지 뷰를 위한 레이아웃 (아이템뷰) 을 만든다
(3) 페이저 어댑터를 상속하여 구현한다
extends PagerAdapter
(4) 뷰 페이저에 어댑터를 달아준다
viewaPager.setAdapter(pagerAdapter)
3. view pager 의 메커니즘
처음 페이지가 생성 될 때, 처음 보일 페이지와 그 다음의 페이지, 총 2개의 페이지가 instantiateItem 메소드를 통해 생성 되게 됩니다. 위의 그림으로 보면 0과 1이 생성이 됩니다.
그리고 1 페이지로 넘어갔을 때, 메모리에는 0, 1, 2 총 3개의 페이지가 생성이 되어 있게 됩니다. 즉, 내 위치에서 -1, +1 의 위치에 있는 페이지가 메모리상에 존재 하게 됩니다.
2페이지로 넘어 갔을 경우, 3 페이지가 메모리에 올라오고 0번째 페이지는 destroyItem 메소드를 거쳐서 메모리에서 사라집니다.
이런식으로 Viewpager는 메모리 효율을 높이고 관리합니다.
예제 참고 사이트>>
https://thomass.tistory.com/16
https://gdtbgl93.tistory.com/3
https://kitesoft.tistory.com/76
https://recipes4dev.tistory.com/148