![APP Thiengo [Calopsita] 3.0](./img/post/50-50/app-thiengo-calopsita-3-0.png)
Animação, onLongPress e GridLayoutManager em RecyclerView, Material Design Android - Parte 3
(8668) (77)

CategoriasAndroid, Design, Protótipo
AutorVinÃcius Thiengo
VÃdeo aulas186
Tempo15 horas
ExercÃciosSim
CertificadoSim

CategoriaEngenharia de Software
Autor(es)Eric Evans
EditoraAlta Books
Edição3ª
Ano2016
Páginas528
Tudo bem?
No vídeo acima daremos continuidade à série Material Design Android. Está aula é na verdade o término da aula anterior, a segunda aula, onde iniciamos os trabalhos com o framework de lista mais eficiente no desenvolvimento de aplicativos Android, o RecyclerView.
Aqui vamos prosseguir com o foco nas outras duas populares APIs de LayoutManager:
- GridLayoutManager;
- e StaggeredGridLayoutManager.
A primeira API, GridLayoutManager, tem como responsabilidade alinhar os itens em grid, com linhas e colunas, porém não evitando espaços extras, gaps, quando houver itens em mesma linha (ou coluna, dependendo da orientação escolhida para o LayoutManager) com tamanhos diferentes.
Enquanto a segunda API, StaggeredGridLayoutManager, além de também ter como responsabilidade alinhar os itens em grid, também trabalha a responsabilidade de "não ter gaps", espaços extras, entre as células. Os itens ficam todos corretamente encaixados em grid, mesmo se os tamanhos forem distintos.
Veja bem:
Não deixe de entender muito bem como utilizar os dois LayoutManagers citados anteriormente, pois hoje em dia é muito comum o trabalho com itens em grid, principalmente em grid sem gaps, utilizando a API StaggeredGridLayoutManager. E ainda não há indícios de que isso tende a mudar.
Voltando ao conteúdo do vídeo... nele também é apresentado como implementar o ouvidor OnLongPressListener, além do OnClickListener, utilizando a API GestureDetector.SimpleOnGestureListener que, via objeto MotionEvent, nos permite detectar qual foi o evento disparado: OnLong; ou OnClick.
Por fim, na vídeo aula, é mostrado como utilizar a biblioteca Android View Animations, de Daimajia, para inserir animações nos itens do RecyclerView.
Note que nem todas as animações funcionam:
- ou Porque a View sendo utilizada, como cliente da API de animação, não dá suporte;
- ou Porque o aparelho, versão Android instalada, realmente não suporta as entidades utilizadas na API de animação.
Porém, em meus testes com alguns emuladores AVD, a maioria funcionou sem problemas, inclusive em device virtual com a API 10 (Android Gingerbread).
Uma dica importante quando utilizando a API de animação View Animations:
Não esqueça de utilizar os blocos try...catch, caso contrário é provável que o seu projeto de aplicativo tenha problemas com Exceptions em aparelhos com versões antigas do Android, mais precisamente em aparelhos com versões anteriores ao Android 21, Lollipop.
Note que no vídeo da aula anterior eu informei sobre: apresentar nesta terceira aula o componente visual CardView. Porém eu optei por deixar o CardView em uma aula somente dedicada a ele, que na verdade é a quarta aula, a próxima.
Se você estiver pensando em utilizar algum framework de lista, em formato de grid, para o trabalho com tags, por exemplo, não faça isso! No Android tem um componente visual especifico para este tipo de layout e que certamente será uma escolha mais inteligente. Estou falando do FlexboxLayout.
Antes de finalizar mais uma aula da série Material Design (não deixe de assistir à vídeo aula), deixo a seguir alguns links de conteúdos aqui do Blog, acompanhados de vídeos, que lhe colocarão em dia com o que há de novo no desenvolvimento de aplicativos:
- Kotlin Android, Entendendo e Primeiro Projeto;
- Android Studio: Instalação, Configuração e Otimização;
- Android Mobile-Commerce, Apresentação e Protótipo do Projeto.
E caso você tenha como meta aprender a construir apps Android, ou evoluir nesta área, também com os conteúdos gratuitos do Blog, então não deixe de acessar a lista para estudos em: Estudando Android - Lista de Conteúdos do Blog.
E não esqueça de se inscrever 📫na lista de e-mails do Blog para receber todos os conteúdos Android em primeira mão.
Se inscreva também no canal do Blog no YouTube para acompanhar as últimas novidades disponíveis lá e aqui no site.
Surgindo dúvidas ou dicas, pode enviar abaixo na área de comentários que logo eu lhe respondo.
Obs. : o link para download do projeto apresentado em vídeo se encontra logo abaixo no artigo, na seção "Download".
Abraço.
Aula anterior
Está, "Animação, onLongPress e GridLayoutManager em RecyclerView, Material Design Android - Parte 3", é a terceira aula da série Material Design no Android. A aula anterior, caso você ainda não tenha visto, é a seguinte:
Próxima aula
A próxima aula a está, a quarta aula, é a seguinte:
É importante que você siga as aulas na ordem apresentada em série, isso para poder tirar o máximo dela e assim evoluir como esperado no mundo de desenvolvimento Android.
Códigos do projeto
Para ter acesso a todos os códigos completos do projeto desenvolvido na série Android Material Design, basta entrar nos repositórios GitHub dele em:
- Projeto lado Android âž™ https://github.com/viniciusthiengo/tc-material-design;
- Projeto lado Web âž™ https://github.com/viniciusthiengo/tc-material-design-web.
Fontes
GridLayoutManager - documentação oficial Android
StaggeredGridLayoutManager - documentação oficial Android
GestureDetector - documentação oficial Android
GestureDetector.SimpleOnGestureListener - documentação oficial Android
Relacionado
Comentários Blog (77)













































































Comentários Facebook