Shell do Xamarin.FormsXamarin.Forms Shell

IntroduçãoIntroduction

O Shell do Xamarin.Forms reduz a complexidade do desenvolvimento de aplicativos móveis, fornecendo os recursos fundamentais que a maioria dos aplicativos móveis exige.Xamarin.Forms Shell reduces the complexity of mobile application development by providing the fundamental features that most mobile applications require. Isso inclui uma experiência de usuário de navegação comum, um esquema de navegação baseado em URI e um manipulador de pesquisa integrado.This includes a common navigation user experience, a URI-based navigation scheme, and an integrated search handler.

Criar um Aplicativo do Shell do Xamarin.FormsCreate a Xamarin.Forms Shell application

O processo para a criação de um aplicativo do Shell do Xamarin.Forms é criar um arquivo XAML que seja uma subclasse da classe Shell, definir a propriedade MainPage da classe App do aplicativo para o objeto Shell na subclasse e descrever a hierarquia visual do aplicativo na classe Shell na subclasse.The process for creating a Xamarin.Forms Shell application is to create a XAML file that subclasses the Shell class, set the MainPage property of the application's App class to the subclassed Shell object, and then describe the visual hierarchy of the application in the subclassed Shell class.

SubmenuFlyout

O submenu é o menu raiz de um aplicativo Shell e é acessível por meio de um ícone ou passando o dedo na lateral da tela.The flyout is the root menu for a Shell application, and is accessible through an icon or by swiping from the side of the screen. O submenu consiste em um cabeçalho opcional, itens de submenu e itens de menu opcionais.The flyout consists of an optional header, flyout items, and optional menu items.

GuiasTabs

Depois de um submenu, o próximo nível de navegação em um aplicativo Shell é a barra de guias inferior.After a flyout, the next level of navigation in a Shell application is the bottom tab bar. Como alternativa, o padrão de navegação de um aplicativo pode começar com as guias inferiores e sem o uso de um submenu.Alternatively, the navigation pattern for an application can begin with bottom tabs and make no use of a flyout. Em ambos os casos, quando uma guia inferior contiver mais de uma página, as páginas poderão ser navegadas pelas guias superiores.In both cases, when a bottom tab contains more than one page, the pages will be navigable by top tabs.

Configuração de páginaPage configuration

A classe do Shell define as propriedades anexadas que podem ser usadas para configurar a aparência das páginas em aplicativos do Shell do Xamarin.Forms.The Shell class defines attached properties that can be used to configure the appearance of pages in Xamarin.Forms Shell applications. Isso inclui a configuração das cores da página, a desabilitação da barra de navegação, a desabilitação da barra de guias e a exibição dos modos de exibição na barra de navegação.This includes setting page colors, disabling the navigation bar, disabling the tab bar, and displaying views in the navigation bar.

Os aplicativos do Shell podem usar um esquema de navegação baseado em URI que usa rotas para navegar para qualquer página no aplicativo sem precisar seguir uma hierarquia de navegação definida.Shell applications can utilize a URI-based navigation scheme that uses routes to navigate to any page in the application, without having to follow a set navigation hierarchy.

PesquisarSearch

Os aplicativos do Shell podem usar a funcionalidade de pesquisa integrada fornecida por uma caixa de pesquisa que pode ser adicionada à parte superior de cada página.Shell applications can use integrated search functionality that's provided by a search box that can be added to the top of each page.

Renderizadores personalizadosCustom renderers

Os aplicativos do Shell são altamente personalizáveis pelas propriedades e pelos métodos que as várias classes de Shell expõem.Shell applications are highly customizable through the properties and methods that the various Shell classes expose. No entanto, também será possível criar um renderizador personalizado do Shell quando personalizações específicas de plataforma mais sofisticadas forem necessárias.However, it's also possible to create a Shell custom renderer when more sophisticated platform-specific customizations are required.