Xamarin.Forms tela dupla

Dispositivos de tela dupla, como o Microsoft Surface Duo, facilitam novas possibilidades de experiência do usuário para seus aplicativos. Xamarin.Forms inclui TwoPaneView classes e DualScreenInfo para que você possa desenvolver aplicativos para dispositivos de tela dupla.

Introdução

Siga estas etapas para adicionar recursos de tela dupla a um Xamarin.Forms aplicativo:

  1. Abra a caixa de diálogo Gerenciador de Pacotes NuGet para sua solução.

  2. Na guia Procurar, pesquise por Xamarin.Forms.DualScreen.

  3. Instale o Xamarin.Forms.DualScreen pacote em sua solução.

  4. Adicione a seguinte chamada de método de inicialização à classe do projeto Android MainActivity , no OnCreate evento:

    Xamarin.Forms.DualScreen.DualScreenService.Init(this);
    

    Esse método é necessário para que o aplicativo possa detectar alterações no estado do aplicativo, como ser estendido em duas telas.

  5. Atualize o Activity atributo na classe do MainActivity projeto Android para que ele inclua todas estas ConfigurationChanges opções:

    ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
        | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.UiMode
    

    Esses valores são necessários para que as alterações de configuração e o estado de intervalo possam ser relatados de forma mais confiável. Por padrão, apenas dois são adicionados a Xamarin.Forms projetos, portanto, lembre-se de adicionar o restante para suporte confiável de tela dupla.

Solução de problemas

Se a classe ou TwoPaneView o DualScreenInfo layout não estiver funcionando conforme o esperado, marcar as instruções de configuração nesta página. Omitir ou desconfigurar incorretamente o Init método ou os ConfigurationChanges valores de atributo são causas comuns de erros.

Examine os Xamarin.Forms exemplos de tela dupla para obter diretrizes adicionais e implementação de referência.

Próximas etapas

Depois de adicionar o NuGet, adicione recursos de tela dupla ao seu aplicativo com as seguintes diretrizes:

  • Padrões de design de tela dupla – ao considerar como utilizar melhor várias telas em um dispositivo de tela dupla, consulte essas diretrizes de padrão para encontrar o melhor ajuste para sua interface de aplicativo.
  • Layout TwoPaneView – A Xamarin.FormsTwoPaneView classe, inspirada no controle UWP de mesmo nome, é um layout multiplataforma otimizado para dispositivos de tela dupla.
  • Classe auxiliar DualScreenInfo – a DualScreenInfo classe permite determinar em qual painel seu modo de exibição está, qual é o tamanho, em qual postura o dispositivo está, o ângulo da dobradiça e muito mais.
  • Gatilhos de tela dupla – o Xamarin.Forms.DualScreen namespace inclui dois gatilhos de estado que disparam uma VisualState alteração quando o modo de exibição do layout anexado, ou janela, é alterado.

Visite os documentos do desenvolvedor de tela dupla para obter mais informações.