Xamarin.Forms Introduzione alla shell

Download Sample Scaricare l'esempio

Xamarin.Forms Shell riduce la complessità dello sviluppo di applicazioni per dispositivi mobili fornendo le funzionalità fondamentali richieste dalla maggior parte delle applicazioni per dispositivi mobili, tra cui:

  • Un'unica posizione per descrivere la gerarchia visiva di un'applicazione.
  • Un'esperienza utente di navigazione comune.
  • Uno schema di navigazione basato su URI che consente di passare a qualsiasi pagina nell'applicazione.
  • Un gestore di ricerca integrato.

Le applicazioni shell consentono inoltre una velocità di rendering maggiore e un consumo di memoria ridotto.

Importante

Le applicazioni esistenti possono adottare Shell usufruendo immediatamente dei miglioramenti in termini di navigazione, prestazioni ed estendibilità.

Gerarchia visiva dell'applicazione

In un'applicazione Xamarin.Forms Shell la gerarchia visiva dell'applicazione viene descritta in una classe che sottoclassa la Shell classe . Questa classe può essere costituita da tre oggetti gerarchici principali:

  1. FlyoutItem o TabBar. Un FlyoutItem oggetto rappresenta uno o più elementi nel riquadro a comparsa e deve essere utilizzato quando il modello di spostamento per l'applicazione richiede un riquadro a comparsa. Un TabBar oggetto rappresenta la barra delle schede inferiore e deve essere usato quando il modello di spostamento per l'applicazione inizia con le schede inferiori e non richiede un riquadro a comparsa.
  2. Tab, che rappresenta contenuto raggruppato, in cui è possibile spostarsi tramite le schede inferiori.
  3. ShellContent, che rappresenta gli ContentPage oggetti per ogni scheda.

Questi oggetti non rappresentano alcuna interfaccia utente, ma piuttosto l'organizzazione della gerarchia visiva dell'applicazione. Shell prenderà questi oggetti e genererà l'interfaccia utente di spostamento per il contenuto.

Nota

Le pagine vengono create su richiesta nelle applicazioni Shell, in risposta alla navigazione.

Per altre informazioni, vedere Creare un'applicazioneXamarin.Forms Shell.

L'esperienza di spostamento fornita da Xamarin.Forms Shell si basa su riquadri a comparsa e schede. Il livello principale per lo spostamento in un'applicazione shell è un riquadro a comparsa o una barra di schede inferiore, a seconda dei requisiti dell'applicazione per gli spostamenti. L'esempio seguente illustra un'applicazione in cui il livello principale per lo spostamento è un riquadro a comparsa:

Screenshot of a Shell flyout, on iOS and Android

In questo esempio alcuni elementi del riquadro a comparsa vengono duplicati come elementi della barra delle schede. Tuttavia, sono disponibili anche elementi accessibili solo dal riquadro a comparsa. Selezionando un elemento del riquadro a comparsa, la scheda inferiore che rappresenta l'elemento viene selezionata e visualizzata:

Screenshot of Shell bottom tabs, on iOS and Android

Nota

Quando il riquadro a comparsa non è aperto, la barra delle schede inferiore può essere considerata il livello di spostamento principale nell'applicazione.

Ogni scheda sulla barra delle schede visualizza un oggetto ContentPage. Se tuttavia una scheda inferiore contiene più di una pagina, è possibile spostarsi tra le pagine tramite la barra delle schede superiore:

Screenshot of Shell top tabs, on iOS and Android

All'interno di ogni scheda, è possibile passare a oggetti aggiuntivi ContentPage noti come pagine di dettaglio:

Screenshot of Shell page navigation, on iOS and Android

Shell usa un'esperienza di navigazione basata su URI che usa le route per passare a qualsiasi pagina nell'applicazione, senza dover seguire una gerarchia di navigazione impostata. La shell offre anche la possibilità di spostarsi all'indietro senza dover visitare tutte le pagine dello stack di spostamento. Per altre informazioni, vedere Xamarin.Forms Navigazione nella shell.

Xamarin.Forms Shell include funzionalità di ricerca integrate fornite dalla SearchHandler classe . La funzionalità di ricerca può essere aggiunta a una pagina aggiungendo un oggetto sottoclassato SearchHandler . Ciò comporta l'aggiunta di una casella di ricerca nella parte superiore della pagina. Quando i dati vengono immessi nella casella di ricerca, l'area dei suggerimenti di ricerca viene popolata con i dati:

Screenshot of Shell search, on iOS and Android

Quindi, quando un risultato viene selezionato nell'area dei suggerimenti di ricerca, è possibile eseguire logica personalizzata, ad esempio passando a una pagina di dettaglio.

Per altre informazioni, vedere Xamarin.Forms Ricerca della shell.

Piattaforme supportate

Xamarin.FormsShell è completamente disponibile in iOS e Android, ma solo parzialmente disponibile nella piattaforma UWP (Universal Windows Platform) (UWP). Inoltre, la shell è attualmente in fase sperimentale in UWP e può essere usata solo aggiungendo la riga di codice seguente alla classe App nel progetto UWP, prima di chiamare Forms.Init:

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

Per altre informazioni sullo stato della shell nella piattaforma UWP, vedi Xamarin.Forms Shell Project Board on github.com (Scheda progetto shell su github.com).