ViewPager
ViewPager 是一個版面配置管理員,可讓您實作 Gestural 流覽。 Gestural 瀏覽可讓使用者向左撥動和向右撥動,以逐步瀏覽數據頁面。 本指南說明如何使用 ViewPager 實作 Gestural 導覽,以及不含片段。 它也描述如何使用 PagerTitleStrip 和 PagerTabStrip 來新增頁面指標。
概觀
應用程式開發中的常見案例是需要為使用者提供同層級檢視之間的格外流覽。 在這個方法中,使用者向左或向右撥動以存取內容頁面(例如,在安裝精靈或幻燈片放映中)。 您可以使用 Android 支援連結庫 v4 中提供的 Widget 來建立這些撥動檢視ViewPager
。
ViewPager
是由多個子檢視所組成的版面配置小工具,其中每個子檢視都會構成版面配置中的頁面:
一般而言,ViewPager
會與 Fragments 搭配使用;不過,在某些情況下,您可能想要使用ViewPager
,而不需要 新增的複雜度Fragment
。
ViewPager
會使用配接器模式來提供要顯示的檢視。 此處使用的配接器在概念上類似於 RecyclerView 所使用的配接器, 您可以提供 的實PagerAdapter
作來產生顯示給使用者的頁面ViewPager
。 顯示 ViewPager
的頁面可以是 View
s 或 Fragment
。 顯示 時 View
,配接器子類別會設定 Android 的 PagerAdapter
基類。 如果 Fragment
顯示,配接器子類別會為 Android 的 FragmentPagerAdapter
。 Android 支援連結庫也包含 FragmentPagerAdapter
(子類別) PagerAdapter
,可協助取得連線 Fragment
到數據的詳細數據。
本指南示範這兩種方法:
在 Viewpager 與 Views 中,會
TreePager
開發應用程式來示範如何使用ViewPager
來顯示樹狀目錄的檢視(落葉和常綠樹的影像庫)。PagerTabStrip
和PagerTitleStrip
可用來顯示有助於頁面流覽的標題。在 具有 Fragments 的 Viewpager 中,會開發稍微更複雜的 FlashCardPager 應用程式,以示範如何
ViewPager
搭配Fragment
使用 來建置應用程式,以將數學問題呈現為快閃卡,並回應用戶輸入。
需求
若要在應用程式專案中使用 ViewPager
,您必須安裝 Android 支援連結庫 v4 套件。 如需安裝 NuGet 套件的詳細資訊,請參閱 逐步解說:在您的專案中包含 NuGet。
架構
三個元件可用來使用 實作 Gestural 導覽 ViewPager
:
- ViewPager
- 配接器
- 呼叫器指標
以下摘要說明每個元件。
ViewPager
ViewPager
是一個配置管理員,一次顯示一個的 View
集合。 其工作是偵測使用者的撥動手勢,並視需要流覽至下一個或上一個檢視。 例如,下列螢幕快照示範如何 ViewPager
從一個影像轉換成下一個影像,以回應用戶手勢:
配接器
ViewPager
從 配接器提取其數據。 配接器的工作是建立 View
所 ViewPager
顯示的 ,並視需要提供它們。 下圖說明此概念 – 配接器會建立並填入 View
,並將其提供給 ViewPager
。 ViewPager
當 偵測到使用者的撥動手勢時,它會要求適配卡提供適當的View
顯示方式:
在這裡特定範例中,每個 View
都會從樹狀結構影像和樹狀結構名稱建構,再傳遞至 ViewPager
。
呼叫器指標
ViewPager
可用來顯示大型數據集(例如,影像庫可能包含數百個影像)。 為了協助用戶流覽大型數據集, ViewPager
通常會伴隨 顯示字串的呼叫器指標 。 字串可能是影像標題、標題,或只是目前檢視在數據集內的位置。
有兩個檢視可以為您產生此瀏覽資訊: PagerTabStrip
且 PagerTitleStrip.
每個檢視都會在 頂端 ViewPager
顯示字串,而且每個檢視都會從 ViewPager
的配接器提取其數據,使其一律與目前顯示的 View
保持同步。 它們之間的差異在於包含 PagerTabStrip
「目前」字串的視覺指標,但 PagerTitleStrip
未顯示 (如下列螢幕快照所示):
本指南示範如何實作 ViewPager
、配接器和指標應用程式元件,並加以整合以支援 Gestural 流覽。