it-swarm-pt.tech

Gaveta de Navegação (Google+ vs. YouTube)

Alguém sabe como implementar um menu deslizante como alguns dos principais aplicativos de hoje?

Outros estouro de pilha perguntas não tive nenhuma resposta sobre como fazer isso, então estou tentando reunir o máximo de informações para ajudar os outros. Todos os aplicativos que mencionei abaixo fazem um ótimo trabalho ao implementar o menu de slides.

1. Google Plus (a partir de 07/07/12)

Google+ slide out menu screenshot

Você só pode ir da primeira tela para a segunda tela clicando no logotipo do G + no canto superior esquerdo. Observe que a tela inteira se move da sua posição e é empurrada para o lado direito da tela (incluindo a barra de ação). Para voltar à primeira tela, você pode colocar o lado direito de volta no foco ou clicar no ícone do G + novamente.

2. YouTube (a partir de 07/07/12)

YouTube slide out menu screenshot

Você pode ir da primeira tela para a segunda tela usando dois métodos. Clique no logotipo do YouTube no canto superior esquerdo ou use um gesto de deslize para movê-lo para a direita. Isso já é diferente do aplicativo G +. Em segundo lugar, você pode ver que a barra de ação permanece (ao contrário do G +). Por fim, para recuperar a tela original, ela funciona exatamente como o G +.

395
EGHDK

Editar # 3:

O padrão da gaveta de navegação é oficialmente descrito na documentação do Android!

enter image description here Confira os seguintes links:

  • Docs de design podem ser encontrados aqui.
  • Docs do desenvolvedor podem ser encontrados aqui.

Editar # 2:

Roman Nurik (engenheiro de design do Google no Google) confirmou que o comportamento recomendado é não mover a barra de ação ao abrir a gaveta (como o aplicativo do YouTube). Veja isto postagem do Google+ .


Editar 1:

Eu respondi a esta pergunta há um tempo atrás, mas estou de volta para enfatizar que o Prixing tem o melhor menu fly-out disponível ... de longe . É absolutamente lindo, perfeitamente suave, e deixa o Facebook, o Google+ e o YouTube envergonhados. O EverNote é muito bom também ... mas ainda não é tão perfeito quanto o Prixing. Confira esta série de posts sobre como o menu flyout foi implementado (de ninguém menos que o desenvolvedor chefe do próprio Prixing! ).


Resposta Original:

Adam Powell e Richard Fulcher falam sobre isso em 49:47 - 52:5 na palestra do Google I/O intitulada "Navegação no Android".

Para resumir sua resposta, a partir da data desta postagem, o menu de navegação deslizar para fora é não oficialmente parte do padrão de design do aplicativo Android. Como você provavelmente já descobriu, atualmente não há suporte nativo para esse recurso, mas se falou em tornar isso uma adição a uma revisão futura do pacote de suporte.

Com relação aos aplicativos do YouTube e G +, parece estranho que eles se comportem de maneira diferente. Meu melhor palpite é que o motivo pelo qual o aplicativo do YouTube corrige a posição da barra de ação é:

  1. Uma das opções de navegação mais importantes para os usuários que usam o aplicativo do YouTube é a pesquisa, que é realizada no SearchView na barra de ação. Faz sentido tornar a barra de ação estática a esse respeito, já que permitiria ao usuário sempre ter a opção de procurar por novos vídeos.

  2. O aplicativo G + usa um ViewPager para exibir seu conteúdo, por isso, fazer o menu pull-out específico para o conteúdo do layout (ou seja, tudo sob a barra de ação) não faria muito sentido. Swiping deve fornecer um meio de navegar entre as páginas, não um meio de navegação global. Talvez seja por isso que eles decidiram fazer isso de maneira diferente no aplicativo do G + do que no aplicativo do YouTube.

    Em outra nota, confira o aplicativo do Google Play para outra versão do "menu suspenso" (quando você estiver na página mais à esquerda, deslize para a esquerda e um menu "meia página" será exibido).

Você está certo de que isso não é um comportamento muito consistente, mas não parece haver um consenso de 100% na equipe do Android sobre como esse comportamento deve ser implementado ainda. Eu não ficaria surpreso se, no futuro, os aplicativos forem atualizados para que a navegação em ambos os aplicativos seja idêntica (eles pareciam muito interessados ​​em tornar a navegação consistente em todos os aplicativos feitos pelo Google na palestra).

152
Alex Lockwood

Recentemente, eu bifurquei um projeto atual do Github chamado "RibbonMenu" e o editei para atender às minhas necessidades:

https://github.com/jaredsburrows/RibbonMen

Qual é o objetivo

  • Facilidade de acesso: permite acesso fácil a um menu que entra e sai
  • Facilidade de Implementação: Atualize a mesma tela usando uma quantidade mínima de código
  • Independência: não requer bibliotecas de suporte, como ActionBarSherlock
  • Personalização: fácil de mudar cores e menus

O que há de novo

  • Alterou a animação deslizante para corresponder aos aplicativos do Facebook e do Google+
  • Adicionado ActionBar padrão (você pode optar por usar ActionBarSherlock)
  • Menuitem usado para abrir o menu
  • Adicionada capacidade de atualizar o ListView na atividade principal
  • Adicionado 2 ListViews ao menu, semelhante ao Facebook e aplicativos do Google+
  • Adicionado um AutoCompleteTextView e um botão, bem como para mostrar exemplos de implementação
  • Método adicionado para permitir que os usuários acessem o "botão Voltar" para ocultar o menu quando ele estiver aberto
  • Permite que os usuários interajam com o plano de fundo (ListView principal) e o menu ao mesmo tempo, ao contrário dos aplicativos do Facebook e do Google+!

ActionBar com o Menu fora

ActionBar with Menu out

ActionBar com Menu fora e pesquisa selecionada

ActionBar with Menu out and search selected

15
Jared Burrows

Existe uma grande implementação do NavigationDrawer que segue as diretrizes do Google Material Design (e compatível com a API 10) - A biblioteca do MaterialDrawer (link para o GitHub) . A partir do momento da escrita, maio de 2017, ele é ativamente suportado.

Está disponível em Maven Central repo . Configuração de dependência Gradle:

compile 'com.mikepenz:materialdrawer:5.9.1'

Configuração de dependência do Maven:

<dependency>
    <groupId>com.mikepenz</groupId>
    <artifactId>materialdrawer</artifactId>
    <version>5.9.1</version>
</dependency>

enter image description hereenter image description here

5
naXa

Eu sei que esta é uma pergunta antiga, mas a resposta mais atualizada é usar o biblioteca de Design de Suporte Android que facilitará sua vida.

2
Sotti

Pessoalmente, gosto do navigationDrawer no aplicativo oficial do Google Drive. Apenas funciona e funciona muito bem. Concordo que a gaveta de navegação não deve mover a barra de ação porque é o ponto chave para abrir e fechar a gaveta de navegação.

Se você ainda está tentando obter esse comportamento, criei recentemente um projeto chamado SherlockNavigationDrawer e como você pode esperar é a implementação da gaveta de navegação com ActionBarSherlock e funciona para dispositivos pré-favo de mel. Verifique-o:

SherlockNavigationDrawer github

2
Nicolas Jafelle