共用方式為


ViewPager

ViewPager 是一個版面配置管理員,可讓您實作 Gestural 流覽。 Gestural 瀏覽可讓使用者向左撥動和向右撥動,以逐步瀏覽數據頁面。 本指南說明如何使用 ViewPager 實作 Gestural 導覽,以及不含片段。 它也描述如何使用 PagerTitleStrip 和 PagerTabStrip 來新增頁面指標。

概觀

應用程式開發中的常見案例是需要為使用者提供同層級檢視之間的格外流覽。 在這個方法中,使用者向左或向右撥動以存取內容頁面(例如,在安裝精靈或幻燈片放映中)。 您可以使用 Android 支援連結庫 v4提供的 Widget 來建立這些撥動檢視ViewPagerViewPager是由多個子檢視所組成的版面配置小工具,其中每個子檢視都會構成版面配置中的頁面:

具有水平撥動範例的 TreePager 應用程式的螢幕快照

一般而言,ViewPager會與 Fragments 搭配使用;不過,在某些情況下,您可能想要使用ViewPager,而不需要 新增的複雜度Fragment

ViewPager 會使用配接器模式來提供要顯示的檢視。 此處使用的配接器在概念上類似於 RecyclerView 所使用的配接器, 您可以提供 的實PagerAdapter作來產生顯示給使用者的頁面ViewPager 顯示 ViewPager 的頁面可以是 Views 或 Fragment。 顯示 時 View,配接器子類別會設定 Android 的 PagerAdapter 基類。 如果 Fragment顯示,配接器子類別會為 Android 的 FragmentPagerAdapter。 Android 支援連結庫也包含 FragmentPagerAdapter (子類別) PagerAdapter,可協助取得連線 Fragment到數據的詳細數據。

本指南示範這兩種方法:

  • Viewpager 與 Views 中,會 TreePager 開發應用程式來示範如何使用 ViewPager 來顯示樹狀目錄的檢視(落葉和常綠樹的影像庫)。 PagerTabStripPagerTitleStrip 可用來顯示有助於頁面流覽的標題。

  • 具有 Fragments 的 Viewpager 中,會開發稍微更複雜的 FlashCardPager 應用程式,以示範如何 ViewPager 搭配 Fragment使用 來建置應用程式,以將數學問題呈現為快閃卡,並回應用戶輸入。

需求

若要在應用程式專案中使用 ViewPager ,您必須安裝 Android 支援連結庫 v4 套件。 如需安裝 NuGet 套件的詳細資訊,請參閱 逐步解說:在您的專案中包含 NuGet。

架構

三個元件可用來使用 實作 Gestural 導覽 ViewPager

  • ViewPager
  • 配接器
  • 呼叫器指標

以下摘要說明每個元件。

ViewPager

ViewPager 是一個配置管理員,一次顯示一個的 View集合。 其工作是偵測使用者的撥動手勢,並視需要流覽至下一個或上一個檢視。 例如,下列螢幕快照示範如何 ViewPager 從一個影像轉換成下一個影像,以回應用戶手勢:

顯示檢視之間轉換的 TreePager 應用程式特寫

配接器

ViewPager配接器提取其數據。 配接器的工作是建立 ViewViewPager顯示的 ,並視需要提供它們。 下圖說明此概念 – 配接器會建立並填入 View,並將其提供給 ViewPagerViewPager當 偵測到使用者的撥動手勢時,它會要求適配卡提供適當的View顯示方式:

說明配接器如何將影像和名稱連接到 ViewPager 的圖表

在這裡特定範例中,每個 View 都會從樹狀結構影像和樹狀結構名稱建構,再傳遞至 ViewPager

呼叫器指標

ViewPager 可用來顯示大型數據集(例如,影像庫可能包含數百個影像)。 為了協助用戶流覽大型數據集, ViewPager 通常會伴隨 顯示字串的呼叫器指標 。 字串可能是影像標題、標題,或只是目前檢視在數據集內的位置。

有兩個檢視可以為您產生此瀏覽資訊: PagerTabStripPagerTitleStrip. 每個檢視都會在 頂端 ViewPager顯示字串,而且每個檢視都會從 ViewPager的配接器提取其數據,使其一律與目前顯示的 View保持同步。 它們之間的差異在於包含 PagerTabStrip 「目前」字串的視覺指標,但 PagerTitleStrip 未顯示 (如下列螢幕快照所示):

具有 PagerTitleStrip 和 PagerTabStrip 之 TreePager 應用程式的螢幕快照

本指南示範如何實作 ViewPager、配接器和指標應用程式元件,並加以整合以支援 Gestural 流覽。