Xamarin.Forms Kabuk tanıtımı

Download Sample Örneği indirme

Xamarin.Forms Shell, çoğu mobil uygulamanın gerektirdiği temel özellikleri sağlayarak mobil uygulama geliştirmenin karmaşıklığını azaltır:

  • Bir uygulamanın görsel hiyerarşisini tanımlamak için tek bir yer.
  • Yaygın bir gezinti kullanıcı deneyimi.
  • Uygulamadaki herhangi bir sayfaya gezintiye izin veren URI tabanlı bir gezinti düzeni.
  • Tümleşik arama işleyicisi.

Buna ek olarak, Kabuk uygulamaları daha yüksek işleme hızından ve daha az bellek tüketiminden yararlanılır.

Önemli

Mevcut uygulamalar Shell'i benimseyerek gezinti, performans ve genişletilebilirlik geliştirmelerinden hemen yararlanabilir.

Uygulama görseli hiyerarşisi

Shell Xamarin.Forms uygulamasında, uygulamanın görsel hiyerarşisi sınıfı alt sınıfa Shell alan bir sınıfta açıklanmıştır. Bu sınıf üç ana hiyerarşik nesneden oluşabilir:

  1. FlyoutItem veya TabBar. A FlyoutItem , açılır öğedeki bir veya daha fazla öğeyi temsil eder ve uygulamanın gezinti düzeni bir açılır öğe gerektirdiğinde kullanılmalıdır. A TabBar , alt sekme çubuğunu temsil eder ve uygulamanın gezinti düzeni alt sekmelerle başladığında ve açılır öğe gerektirmediğinde kullanılmalıdır.
  2. Tab, alt sekmelere göre gezinilebilen, gruplandırılmış içeriği temsil eder.
  3. ShellContent, her sekmenin ContentPage nesnelerini temsil eder.

Bu nesneler herhangi bir kullanıcı arabirimini değil, uygulamanın görsel hiyerarşisinin kuruluşunu temsil eder. Shell bu nesneleri alır ve içerik için gezinti kullanıcı arabirimini oluşturur.

Not

Sayfalar, gezintiye yanıt olarak Shell uygulamalarında isteğe bağlı olarak oluşturulur.

Daha fazla bilgi için bkz. Kabuk uygulaması oluşturmaXamarin.Forms.

Shell tarafından Xamarin.Forms sağlanan gezinti deneyimi açılır menüleri ve sekmeleri temel alır. Shell uygulamasında gezintinin en üst düzeyi, uygulamanın gezinti gereksinimlerine bağlı olarak açılır öğe veya alt sekme çubuğudur. Aşağıdaki örnekte, gezintinin en üst düzeyinin açılır öğe olduğu bir uygulama gösterilmektedir:

Screenshot of a Shell flyout, on iOS and Android

Bu örnekte, bazı açılır öğeler sekme çubuğu öğeleri olarak çoğaltılır. Ancak, yalnızca açılır menüden erişilebilen öğeler de vardır. Açılır öğe seçildiğinde, alt sekmede seçilen ve görüntülenen öğeyi temsil eden sonuçlanır:

Screenshot of Shell bottom tabs, on iOS and Android

Not

Açılır öğe açık olmadığında, alt sekme çubuğunun uygulamadaki en üst gezinti düzeyi olduğu düşünülebilir.

Sekme çubuğundaki her sekmede bir ContentPagegörüntülenir. Ancak, bir alt sekmede birden fazla sayfa varsa, sayfalar üst sekme çubuğu tarafından gezinilebilir:

Screenshot of Shell top tabs, on iOS and Android

Her sekmede, ayrıntı sayfaları olarak bilinen ek ContentPage nesnelere gidilebilir:

Screenshot of Shell page navigation, on iOS and Android

Shell, belirli bir gezinti hiyerarşisini izlemek zorunda kalmadan uygulamadaki herhangi bir sayfaya gitmek için yolları kullanan URI tabanlı bir gezinti deneyimi kullanır. Buna ek olarak, gezinti yığınındaki tüm sayfaları ziyaret etmek zorunda kalmadan geriye doğru gezinme olanağı da sağlar. Daha fazla bilgi için bkz Xamarin.Forms . Kabuk gezintisi.

Xamarin.Forms Shell, sınıfı tarafından sağlanan tümleşik arama işlevselliğini SearchHandler içerir. Arama özelliği, alt sınıf bir SearchHandler nesne eklenerek sayfaya eklenebilir. Bu, sayfanın en üstüne bir arama kutusu eklenmesiyle sonuçlanıyor. Arama kutusuna veri girildiğinde, arama önerileri alanı verilerle doldurulur:

Screenshot of Shell search, on iOS and Android

Ardından, arama önerileri alanından bir sonuç seçildiğinde, ayrıntı sayfasına gitme gibi özel mantık yürütülebilir.

Daha fazla bilgi için bkz Xamarin.Forms . Kabuk araması.

Platform desteği

Xamarin.FormsKabuk iOS ve Android'de tamamen kullanılabilir, ancak Evrensel Windows Platformu (UWP) üzerinde yalnızca kısmen kullanılabilir. Buna ek olarak, Shell şu anda UWP üzerinde deneyseldir ve çağrısından Forms.Initönce yalnızca UWP projenizdeki sınıfına App aşağıdaki kod satırını ekleyerek kullanılabilir:

global::Xamarin.Forms.Forms.SetFlags("Shell_UWP_Experimental");

UWP'de Shell'in durumu hakkında daha fazla bilgi için bkz Xamarin.Forms . github.com'da Shell Proje Panosu .