Xamarin.Forms 殼層簡介
Xamarin.Forms Shell 藉由提供大部分行動應用程式所需的基本功能,包括:
- 說明應用程式視覺階層的單一位置。
- 常見的瀏覽使用者體驗。
- 允許導覽至應用程式中任何頁面的 URI 式導覽配置。
- 整合式搜尋處理常式。
此外,Shell 應用程式的優點是轉譯速度更快,且記憶體使用量更少。
重要
現有的應用程式可採用 Shell,立即受益於導覽、效能與擴充性等改進功能。
應用程式視覺階層
Xamarin.Forms在 Shell 應用程式中,應用程式的視覺階層會在類別Shell
化類別中描述。 這個類別可以包含三個主要階層式物件:
FlyoutItem
或TabBar
。FlyoutItem
代表飛出視窗中的一或多個專案,而且應該在應用程式需要飛出視窗的流覽模式時使用。TabBar
代表底部索引標籤,而且應該在應用程式的導覽模式以底部索引標籤開始,且不需要飛出視窗時使用。Tab
代表分組內容,可透過底部索引標籤導覽。ShellContent
,表示ContentPage
每個索引標籤的物件。
這些物件不代表任何使用者介面,而是應用程式視覺階層的組織。 殼層會採用這些物件,並產生內容的瀏覽使用者介面。
注意
頁面會在 Shell 應用程式中視需要建立,以響應流覽。
如需詳細資訊,請參閱 建立 Xamarin.Forms 殼層應用程式。
瀏覽用戶體驗
Shell 提供的 Xamarin.Forms 瀏覽體驗是以飛出視窗和索引標籤為基礎。 Shell 應用程式中的最上層導覽是飛出視窗或底部索引標籤列,具體取決於應用程式的導覽要求。 下列範例示範最上層導覽為飛出視窗的應用程式:
在此範例中,某些飛出視窗專案會複製為索引標籤專案。 不過,也有專案只能從飛出視窗存取。 選取飛出視窗項目會產生代表要選取並顯示之項目的底部索引標籤:
注意
未開啟飛出視窗時,底部的索引標籤列可視為應用程式中導覽的最上層。
索引標籤的每個索引標籤都會顯示 ContentPage
。 不過,如果底部索引標籤包含多個頁面,則可透過頂端索引標籤列導覽頁面:
在每個索引標籤內,可以巡覽至稱為詳細數據頁面的其他 ContentPage
物件:
Shell 使用 URI 型瀏覽體驗,使用路由巡覽至應用程式中的任何頁面,而不需要遵循設定的瀏覽階層。 此外,這也可讓您回溯導覽,而不需要造訪導覽堆疊上的所有頁面。 如需詳細資訊,請參閱 Xamarin.Forms 殼層導覽。
搜尋
Xamarin.Forms Shell 包含 類別所提供的 SearchHandler
整合式搜尋功能。 搜尋功能可以藉由將子類別化 SearchHandler
物件新增至頁面。 這會導致在頁面頂端新增搜尋方塊。 當數據輸入至搜尋方塊時,搜尋建議區域會填入數據:
然後,從搜尋建議區域選取結果時,可以執行自定義邏輯,例如流覽至詳細數據頁面。
如需詳細資訊,請參閱 Xamarin.Forms 殼層搜尋。
平台支援
Xamarin.Forms殼層在 iOS 和 Android 上完全可用,但只有部分可在 通用 Windows 平台 (UWP) 上使用。 此外,Shell 目前在 UWP 上為實驗性,而且只能透過在呼叫 Forms.Init
之前將下列程式碼行新增至 UWP 專案中的 App
類別來使用:
global::Xamarin.Forms.Forms.SetFlags("Shell_UWP_Experimental");
如需 UWP 上 Shell 狀態的詳細資訊,請參閱 Xamarin.Forms github.com 上的 Shell 項目面板 。