Com o lançamento do Android Studio 2.2, resolvi fazer um vídeo falando um pouquinho sobre o novo gerenciador de layouts do Android: o ConstraintLayout.
O vídeo é um pouquinho longo (25min) e mostra como criar um layout de uma tela do aplicativo do Netflix utilizando o ConstraintLayout no novo editor visual do Android Studio.
Como é algo relativamente novo, qualquer feedback é muito bem vindo.
Esqueci de falar no vídeo que o ConstraintLayout é compatível com o Android 2.3 e superior.
Mais informações:
- http://android-developers.blogspot.com.br/2016/09/android-studio-2-2.html
- https://developer.android.com/training/constraint-layout/index.html
- http://tools.android.com/tech-docs/layout-editor
Bug report:
- No vídeo (4:50), podemos notar que o wrap_content não respeita as margens estipuladas. Meu amigo Diego Nascimento notou esse problema em outras situações e reportou o bug para o Google. Eu adicionei meu comentário lá e vamos aguardar o que eles vão fazer.
https://code.google.com/p/android/issues/detail?id=223308
Errata:
- No vídeo foi quando falei "Auto run" ao invés de "Instant Run".
Qualquer dúvida, deixem seus comentários.
4br4ç05,
nglauber
12 comentários:
Show de bola Glauber! creio que este seja o primeiro material produzido em relação ao ConstraintLayout, e ficou super bem explicado. Parabéns.
Aproveitando, poderia postar algo falando sobre vector drawable? nem sabia da existência :D
Valeu!
Você utiliza mais os comandos "arrasta e solta" mesmo, ou acha mais produtivo fazer via código ?
Oi Anônimo,
No caso do ConstraintLayout, um dos maiores benefícios é agilidade do editor visual. Então é melhor usar o editor mesmo.
Mas para os demais layouts, prefiro arrastar os componentes pra tela usando o editor visual e ajustar as propriedades no XML.
4br4ç05,
nglauber
Oi Pablo,
Que bom que gostou! Quando tiver um tempinho posto algo sobre o VectorDrawable sim ;)
4b4r4ç05,
nglauber
Olá Glauber,
Parabéns pela explicação!
Você vê vantagens na utilização de ConstraintLayout? Faço esta pergunta pois, todos os developers já estão acostumados a trabalhar com o encadeamento de Layouts e seus ViewGroups.
De qualquer forma, pra ter um pouco mais de "feeling" nisso, vou trabalhar e mexer um pouco com essa nova forma de construção de layouts. Não devemos ser resistentes a mudanças, faz parte da evolução.
Abraços,
Oi Rafael,
Que bom que gostou do vídeo. :)
Acho que o ConstraintLayout tem algumas vantagens:
- Ele implementa um layout plano, ou seja, sem encadeamentos, o que o torna mais rápido na hora fazer uma referência a uma View (por um findViewById por exemplo).
- Eu costumo dizer que 90% (estatística aleatória) dos layouts você consegue implementar com o RelativeLayout e/ou LinearLayout. O ConstraintLayout é uma mistura dos dois.
- Facilita a criação do layout usando o editor visual. Isso para quem está começando é ótimo.
- Desenvolvedores iOS usam um conceito similar nos seus layouts, isso facilita a curva de aprendizado deles no Android.
No momento que eu estou te respondendo ele ainda está em alpha, então acho que não usaria em produção. Mas acho que ele será o futuro dos layouts no Android.
4br4ç05,
nglauber
Oi Glauber, parabéns pelo vídeo. Em relação ao problema do wrap_content, aparentemente foi resolvido no último build (alpha9).
Muito boa as suas considerações Glauber.
Realmente, pensando na curva de aprendizado dos developers iOS, esta forma de trabalho do ConstraintLayout foi muito boa :)
Só sei que temos que estudar infinitamente, Android está sempre mudando as coisas e acompanhar essas alterações não é uma tarefa fácil, obrigado por trazer novidades em seu blog, com certeza vou me tornar um leitor assíduo.
Abraços e bons códigos!
Oi Luciano,
Eu não sei se resolveram realmente no alpha-9...
https://code.google.com/p/android/issues/detail?id=223308
4br4ç05,
nglauber
Boa noite Nelson Glauber! Poderia fazer uma video aula de como adaptar o layout para diferentes resoluções?
Obrigado!
Oi Leonardo,
Utilizando as constraints corretamente seu layout já deve estar pronto para os diferentes tamanhos e densidades de tela existentes.
4br4ç05,
nglauber
Show de bola, essa video aula Nelson Glauber.
Depois de começar a ler o seu livro virei espectador assiduo do seu blog.
Valeu
Postar um comentário