제트팩 라이브러리 - 3

이윤설·2024년 8월 30일
0

4. 리사이클러 뷰 - 목록 화면 구성

리사이클러 뷰 사용법


리사이클러 뷰란, 여러 가지 항목을 나열하는 목록 화면이다.

리사이클러 뷰는 목록을 만드는데 이것만 사용해선 화면에 아무것도 출력되지 않는다. 그러므로 다음과 같은 구성요소를 이용해야 한다.

  • ViewHolder: 항목에 필요한 뷰 객체를 갖는다.
  • Adapter: 항목을 구성한다.
  • LayoutManager: 항목을 배치한다.
  • ItemDecoration(필수 아님): 항목을 꾸민다.

cf. 리스트 뷰와 리사이클러 뷰
API 버전 1에서 창시된 리스트 뷰로도 목록 화면을 만들 수 있다. 하지만 최근에는 리사이클러 뷰가 완벽히 대체하였다.

5,6. 뷰 페이저2, 드로어 레이아웃

ViewPager2

ViewPager2는 안드로이드에서 여러 페이지를 좌우로 스와이프하여 전환할 수 있도록 하는 뷰다. 기존 ViewPager의 개선된 버전으로, 더 많은 기능과 유연성을 제공한다. ViewPager2는 수평 및 수직 방향으로 페이지를 스와이프할 수 있으며, 리사이클러 뷰의 기능을 내부적으로 사용하여 성능과 확장성을 향상시켰다.

주요 특징:

  1. 양방향 스와이프 지원: ViewPager2는 수평뿐만 아니라 수직으로도 페이지를 스와이프할 수 있다. 이를 위해 android:orientation 속성을 사용하면 된다.

  2. 리사이클러 뷰 기반: ViewPager2는 내부적으로 리사이클러 뷰를 사용하여 페이지 전환을 처리한다. 이로 인해 페이지가 많을 때도 메모리 효율성을 유지할 수 있다.

  3. 프래그먼트와 호환성: FragmentStateAdapter를 사용하여 프래그먼트 기반의 페이지를 쉽게 구현할 수 있다. 페이지가 많거나 동적으로 추가 및 제거될 때 유용하다.

  4. RTL 지원: ViewPager2는 오른쪽에서 왼쪽(RTL) 방향을 기본적으로 지원한다.

  5. 페이지 변경 콜백: ViewPager2.OnPageChangeCallback을 사용하여 페이지가 변경될 때 호출되는 콜백을 설정할 수 있다. 이를 통해 페이지 전환 시 애니메이션이나 특정 작업을 수행할 수 있다.

DrawerLayout

DrawerLayout은 안드로이드에서 네비게이션 드로어를 구현할 때 사용되는 레이아웃이다. 네비게이션 드로어는 화면의 좌측 또는 우측에서 슬라이드되어 나타나는 메뉴로, 사용자가 앱 내의 다른 화면으로 쉽게 이동할 수 있도록 도와준다.

주요 특징:

  1. 슬라이드 메뉴: DrawerLayout은 화면의 왼쪽 또는 오른쪽에서 슬라이드하여 나타나는 메뉴를 쉽게 구현할 수 있다. 보통 네비게이션 메뉴를 배치하여 앱의 주요 섹션으로 이동할 수 있게 한다.

  2. 다양한 위치에 드로어 배치: 드로어는 화면의 왼쪽뿐만 아니라 오른쪽에도 배치할 수 있다.

  3. 컨텐츠와 드로어 구분: DrawerLayout은 기본적으로 두 개의 자식 뷰를 포함한다. 첫 번째 자식은 메인 컨텐츠를 나타내고, 두 번째 자식은 드로어로 사용된다. 드로어는 layout_gravity 속성으로 위치를 지정할 수 있다.

  4. 드로어 상태 관리: DrawerListener를 사용하여 드로어의 열림/닫힘 상태를 추적할 수 있다. 이를 통해 드로어가 열리거나 닫힐 때 특정 작업을 수행할 수 있다.

  5. 툴바와의 통합: DrawerLayout은 툴바와 쉽게 통합할 수 있어, 드로어 아이콘을 툴바에 배치하고, 클릭 시 드로어가 열리도록 설정할 수 있다. 보통 ActionBarDrawerToggle을 사용하여 이 작업을 수행한다.


출처
https://stackoverflow.com/questions/26728651/recyclerview-vs-listview

https://www.geeksforgeeks.org/how-to-align-navigation-drawer-and-its-elements-towards-the-left-or-right-of-the-screen-in-android/

profile
화려한 외면이 아닌 단단한 내면

0개의 댓글