ViewPager

ViewPager는 제스처 탐색을 구현할 수 있는 레이아웃 관리자입니다. 제스처 탐색을 사용하면 왼쪽과 오른쪽으로 살짝 밀어 데이터 페이지를 단계별로 실행할 수 있습니다. 이 가이드에서는 조각의 사용 여부에 관계없이 ViewPager를 사용하여 제스처 탐색을 구현하는 방법을 설명합니다. 또한 PagerTitleStrip 및 PagerTabStrip을 사용하여 페이지 표시기를 추가하는 방법에 대해서도 설명합니다.

개요

앱 개발의 일반적인 시나리오는 사용자에게 형제 뷰 간의 제스처 탐색을 제공해야 한다는 것입니다. 이 방법에서 사용자는 왼쪽 또는 오른쪽으로 살짝 밀어 콘텐츠 페이지에 액세스합니다(예: 설치 마법사 또는 슬라이드 쇼). Android 지원 라이브러리 v4에서 사용할 수 있는 위젯을 사용하여 ViewPager 이러한 살짝 밀기 보기를 만들 수 있습니다. 각 ViewPager 자식 보기가 레이아웃의 페이지를 구성하는 여러 자식 보기로 구성된 레이아웃 위젯입니다.

Screenshots of TreePager app with horizontal swipe example

일반적으로 ViewPager조각과 함께 사용되지만 Fragment의 복잡성을 추가 하지 않고 ViewPager를 사용 해야 하는 경우도 있습니다.

ViewPager 는 어댑터 패턴을 사용하여 표시할 뷰를 제공합니다. 여기서 사용되는 어댑터는 개념적으로 RecyclerView에서 사용하는 어댑터와 유사합니다. 사용자에게 표시되는 페이지를 ViewPager 생성하는 구현 PagerAdapter 을 제공합니다. 표시되는 ViewPager 페이지는 s 또는 Fragments일 View수 있습니다. View표시되면 어댑터는 Android의 PagerAdapter 기본 클래스를 서브클래싱합니다. 표시되는 경우 Fragment어댑터는 Android의 FragmentPagerAdapter서브클래싱을 합니다. Android 지원 라이브러리에는 데이터에 연결하는 Fragment세부 정보를 지원하는 하위 클래스PagerAdapter도 포함되어 FragmentPagerAdapter 있습니다.

이 가이드에서는 다음 두 가지 방법을 모두 보여 줍니다.

  • 가 있는 Viewpager에서는 트리 카탈로그(낙엽수 및 상록 트리의 이미지 갤러리)의 보기를 표시하는 데 사용하는 ViewPager 방법을 보여 주는 TreePager 앱이 개발되었습니다. PagerTabStrip 페이지 PagerTitleStrip 탐색에 도움이 되는 제목을 표시하는 데 사용됩니다.

  • Viewpager with Fragments에서 조각을 사용하는 viewpager에서와 함께 를 사용하여 플래시 카드로 수학 문제를 제공하고 사용자 입력에 응답하는 앱을 빌드하는 방법을 ViewPager 보여주기 위해Fragment 약간 더 복잡한 FlashCardPager 앱이 개발되었습니다.

요구 사항

앱 프로젝트에서 사용 ViewPager 하려면 Android 지원 라이브러리 v4 패키지를 설치해야 합니다. NuGet 패키지 설치에 대한 자세한 내용은 연습: 프로젝트에 NuGet 포함을 참조하세요.

아키텍처

다음을 사용하여 제스처 탐색 ViewPager을 구현하는 데 세 가지 구성 요소가 사용됩니다.

  • ViewPager
  • 어댑터
  • 호출기 표시기

이러한 각 구성 요소는 아래에 요약되어 있습니다.

ViewPager

ViewPager 는 한 번에 하나의 컬렉션을 View표시하는 레이아웃 관리자입니다. 해당 작업은 사용자의 살짝 밀기 제스처를 감지하고 적절하게 다음 또는 이전 보기로 이동하는 것입니다. 예를 들어 아래 스크린샷은 사용자 제스처에 대한 응답으로 한 이미지에서 다음 이미지로 전환하는 방법을 보여 ViewPager 줍니다.

Closeup of TreePager app displaying a transition between Views

어댑터

ViewPager는 어댑터에서 해당 데이터를 가져옵니다. 어댑터의 작업은 필요에 따라 해당 어댑터를 제공하여 표시되는 ViewPagers를 만드는 View것입니다. 아래 다이어그램은 이 개념을 보여 줍니다. 어댑터가 s를 View만들고 채우고 이를 제공합니다 ViewPager. ViewPager 사용자의 살짝 밀기 제스처를 감지하면 어댑터에 표시할 적절한 View 정보를 제공하도록 요청합니다.

Diagram illustrating how the Adapter connects images and names to the ViewPager

이 특정 예제에서는 각각 View 트리 이미지와 트리 이름에서 생성된 후 이 이미지에 ViewPager전달됩니다.

호출기 표시기

ViewPager 는 큰 데이터 집합을 표시하는 데 사용할 수 있습니다(예: 이미지 갤러리에 수백 개의 이미지가 포함될 수 있음). 사용자가 큰 데이터 집합 ViewPager 을 탐색하는 데 도움이 되도록 문자열을 표시하는 호출기 표시 기가 함께 제공되는 경우가 많습니다. 문자열은 이미지 제목, 캡션 또는 데이터 집합 내에서 현재 보기의 위치일 수 있습니다.

이 탐색 정보를 PagerTabStripPagerTitleStrip. 생성할 수 있는 두 가지 보기가 있습니다. 각각은 문자열을 ViewPager맨 위에 표시하고, 각각은 현재 표시된 View것과 항상 동기화되도록 '의 어댑터에서 ViewPager해당 데이터를 가져옵니다. 차이점은 PagerTabStrip "현재" 문자열에 대한 시각적 표시기가 포함되어 있지만 PagerTitleStrip 그렇지 않다는 점입니다(이러한 스크린샷에 표시된 대로).

Screenshots of the TreePager app with PagerTitleStrip and PagerTabStrip

이 가이드에서는 앱 구성 요소를 immplement ViewPager, 어댑터 및 표시기 앱 구성 요소를 통합하여 제스처 탐색을 지원하는 방법을 보여 줍니다.