Xamarin.Forms Introdução ao shell

Baixar exemplo Baixar o exemplo

Xamarin.Forms O Shell reduz a complexidade do desenvolvimento de aplicativos móveis fornecendo os recursos fundamentais que a maioria dos aplicativos móveis exige, incluindo:

  • Um único lugar para descrever a hierarquia visual do aplicativo.
  • Uma experiência de navegação comum para o usuário.
  • Um esquema de navegação baseada em URI que permite a navegação para qualquer página no aplicativo.
  • Um manipulador de pesquisa integrado.

Além disso, o aplicativo Shell tem a vantagem de aumentar a velocidade de renderização e reduzir o consumo de memória.

Importante

Os aplicativos existentes podem adotar o Shell e beneficiar-se imediatamente das melhorias de navegação, desempenho e extensibilidade.

Hierarquia visual do aplicativo

Em um Xamarin.Forms aplicativo Shell, a hierarquia visual do aplicativo é descrita em uma classe que subclasse a Shell classe . Essa classe pode ser composta por três objetos hierárquicos principais:

  1. FlyoutItem ou TabBar. Um FlyoutItem representa um ou mais itens no submenu e deve ser usado quando o padrão de navegação para o aplicativo requer um submenu. Um TabBar representa a barra de guias inferior e deve ser usado quando o padrão de navegação para o aplicativo começa com guias inferiores e não requer um submenu.
  2. Tab, que representa o conteúdo agrupado, navegável pelas guias inferiores.
  3. ShellContent, que representa os ContentPage objetos para cada guia.

Esses objetos não representam nenhuma interface do usuário, mas sim a organização da hierarquia visual do aplicativo. O Shell usará esses objetos e produzirá a interface de navegação do conteúdo para o usuário.

Observação

As páginas são criadas sob demanda em aplicativos Shell, em resposta à navegação.

Para obter mais informações, consulte Criar um Xamarin.Forms aplicativo Shell.

A experiência de navegação fornecida pelo Xamarin.Forms Shell é baseada em submenus e guias. O nível superior da navegação em um aplicativo do Shell será um submenu ou uma barra de guias inferior, dependendo dos requisitos de navegação do aplicativo. O exemplo a seguir mostra um aplicativo em que o nível superior da navegação é um submenu:

Captura de tela de um submenu shell no iOS e no Android

Neste exemplo, alguns itens de submenu são duplicados como itens da barra de guias. No entanto, também há itens que só podem ser acessados do submenu. Selecionar um item de submenu faz com que a guia inferior que representa o item seja selecionada e exibida:

Captura de tela das guias inferiores do Shell, no iOS e no Android

Observação

Quando o submenu está fechado, a barra de guias inferior pode ser considerada o nível principal da navegação no aplicativo.

Cada guia na barra de guias exibe um ContentPage. No entanto, se uma guia inferior contiver mais de uma página, será possível navegar pelas páginas por meio da barra de guias superior:

Captura de tela das guias superiores do Shell, no iOS e no Android

Em cada guia, objetos adicionais ContentPage que são conhecidos como páginas de detalhes podem ser navegados para:

Captura de tela da navegação da página do Shell, no iOS e no Android

O Shell usa uma experiência de navegação baseada em URI que usa rotas para navegar até qualquer página no aplicativo, sem precisar seguir uma hierarquia de navegação definida. Além disso, eles também oferecem a capacidade de navegar para trás, sem precisar visitar todas as páginas na pilha de navegação. Para obter mais informações, consulte Xamarin.Forms Navegação do Shell.

Xamarin.Forms O Shell inclui a funcionalidade de pesquisa integrada fornecida pela SearchHandler classe . A funcionalidade de pesquisa pode ser adicionada a uma página adicionando um objeto subclasse SearchHandler a ela. Isso resulta na adição de uma caixa de pesquisa na parte superior da página. Quando os dados são inseridos na caixa de pesquisa, a área de sugestões de pesquisa é preenchida com dados:

Captura de tela da pesquisa do Shell, no iOS e no Android

Em seguida, quando um resultado é selecionado na área de sugestões de pesquisa, a lógica personalizada pode ser executada, como navegar até uma página de detalhes.

Para obter mais informações, consulte Xamarin.Forms Pesquisa de shell.

Suporte a plataforma

Xamarin.FormsO Shell está totalmente disponível no iOS e no Android, mas apenas parcialmente disponível no Plataforma Universal do Windows (UWP). Além disso, o Shell é experimental no momento na UWP e só pode ser usado adicionando a linha de código a seguir à classe App em seu projeto UWP, antes de chamar Forms.Init:

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

Para obter mais informações sobre o status do Shell na UWP, consulte Xamarin.Forms Shell Project Board on github.com.