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 :
FlyoutItem
ouTabBar
. ReprésenteFlyoutItem
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ésenteTabBar
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.Tab
, qui représente le contenu regroupé, accessible via les onglets inférieurs.ShellContent
, qui représente lesContentPage
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.
Expérience utilisateur de navigation
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 :
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 :
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 :
Dans chaque onglet, des objets supplémentaires ContentPage
appelés pages de détails peuvent être accédés à :
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.
Search
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 :
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.