Partager via


Xamarin.Forms Présentation de Shell

Xamarin.Forms Shell réduit la complexité du développement d’applications mobiles en fournissant les fonctionnalités fondamentales dont la plupart des applications mobiles ont besoin, notamment :

  • Un emplacement unique pour décrire la hiérarchie visuelle d’une application.
  • Une expérience utilisateur de navigation commune.
  • Un schéma de navigation basée sur des URI permettant la navigation vers n’importe quelle page dans l’application.
  • Un gestionnaire de recherche intégré.

En outre, les applications Shell bénéficient d’une vitesse de rendu accrue et d’une consommation de mémoire réduite.

Important

Les applications existantes peuvent adopter Shell et bénéficier immédiatement d’une navigation, de performances et d’une extensibilité améliorées.

Hiérarchie visuelle d’application

Dans une Xamarin.Forms application Shell, la hiérarchie visuelle de l’application est décrite dans une classe qui sous-classe la Shell classe. Cette classe peut se composer de trois objets hiérarchiques principaux :

  1. FlyoutItem ou TabBar. Représente FlyoutItem un ou plusieurs éléments dans le menu volant et doit être utilisé lorsque le modèle de navigation de l’application nécessite un menu volant. Représente TabBar la barre d’onglets inférieure et doit être utilisée lorsque le modèle de navigation de l’application commence par les onglets inférieurs et ne nécessite pas de menu volant.
  2. Tab, qui représente le contenu regroupé, accessible via les onglets inférieurs.
  3. ShellContent, qui représente les ContentPage objets pour chaque onglet.

Ces objets ne représentent aucune interface utilisateur, mais plutôt l’organisation de la hiérarchie visuelle de l’application. Shell sélectionnera ces objets et générera l’interface utilisateur de navigation pour le contenu.

Remarque

Les pages sont créées à la demande dans les applications Shell, en réponse à la navigation.

Pour plus d’informations, consultez Créer une Xamarin.Forms application Shell.

L’expérience de navigation fournie par Xamarin.Forms Shell est basée sur les menus volants et les onglets. Le niveau de navigation supérieur dans une application Shell est un menu volant ou une barre d’onglets en bas, selon les besoins de l’application en matière de navigation. L’exemple suivant montre une application où le niveau supérieur de navigation est un menu volant :

Capture d’écran d’un menu volant Shell, sur iOS et Android

Dans cet exemple, certains éléments volants sont dupliqués en tant qu’éléments de barre d’onglets. Toutefois, il existe également des éléments accessibles uniquement à partir du menu volant. La sélection d’un élément de menu volant permet de sélectionner et d’afficher cet élément dans un onglet en bas de l’écran :

Capture d’écran des onglets du bas Shell, sur iOS et Android

Remarque

Lorsque le menu volant n’est pas ouvert, la barre d’onglets du bas représente le niveau supérieur de navigation dans l’application.

Chaque onglet de la barre d’onglets affiche un ContentPage. Toutefois, si un onglet inférieur contient plusieurs pages, les pages sont accessibles via la barre d’onglets supérieure :

Capture d’écran des onglets du haut Shell, sur iOS et Android

Dans chaque onglet, des objets supplémentaires ContentPage appelés pages de détails peuvent être accédés à :

Capture d’écran de la navigation entre les pages Shell, sur iOS et Android

Shell utilise une expérience de navigation basée sur l’URI qui utilise des itinéraires pour accéder à n’importe quelle page de l’application, sans avoir à suivre une hiérarchie de navigation définie. De plus, l’utilisateur peut revenir en arrière sans avoir à visiter toutes les pages de la pile de navigation. Pour plus d’informations, consultez Xamarin.Forms navigation Shell.

Xamarin.Forms Shell inclut des fonctionnalités de recherche intégrées fournies par la SearchHandler classe. La fonctionnalité de recherche peut être ajoutée à une page en y ajoutant SearchHandler un objet sous-classé. Cela entraîne l’ajout d’une zone de recherche en haut de la page. Lorsque les données sont entrées dans la zone de recherche, la zone de suggestions de recherche est remplie avec des données :

Capture d’écran de la recherche Shell, sur iOS et Android

Ensuite, lorsqu’un résultat est sélectionné dans la zone de suggestions de recherche, la logique personnalisée peut être exécutée, comme la navigation vers une page de détails.

Pour plus d’informations, consultez Xamarin.Forms recherche Shell.

Plateforme prise en charge

Xamarin.FormsShell est entièrement disponible sur iOS et Android, mais uniquement partiellement disponible sur le plateforme Windows universelle (UWP). En outre, Shell est actuellement expérimental sur UWP et ne peut être utilisé qu’en ajoutant la ligne de code suivante à la classe App du projet UWP, avant d’appeler Forms.Init :

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

Pour plus d’informations sur l’état de Shell sur UWP, consultez Xamarin.Forms Shell Project Board sur github.com.