SlideShare uma empresa Scribd logo
Android
BottomNavigationView
Como e quando utilizar
thiengo.com.br
O componente visual
O BottomNavigationView foi lançado no
Android, como API nativa, somente em
março de 2016, junto a versão 25 da
Material Design Support Library.
O foco deste componente visual é em
devices mobile, sendo recomendado,
quando em sistemas desktop ou Web, o uso
do menu gaveta.
Por fazer parte do pacote de suporte do
Android, o BottomNavigationView atende
às principais versões deste SO.
Com o bottom navigation é possível prover
ao usuário acesso rápido a telas de
contextos similares, porém há uma série de
regras de negócio sobre quando e como
devemos utilizar este widget, regras também
apresentadas e discutidas nos próximos
slides.
Especificações de design
- Altura de 56dp e largura variando entre
80dp e 168dp:
- A exceção é quando há animação e
itens suficiente, na barra de fundo,
para exigir que o item atualmente em
foco tenha um espaço bem maior do
que os outros:
- Item ativo, de 96dp a 168dp;
- Item inativo de 56dp a 96dp.
- Quando há um número de itens onde
até mesmo os rótulos de todos eles
podem ser apresentados, neste caso
todas as abas devem ter a mesma
largura em qualquer status.
- Ícones devem ter medidas como as dos
ícones do NavigationView, 24dp x 24dp;
- Os rótulos dos bottom actions, itens do BottomNavigationView, devem ser
pequenos e significativos, isso caso haja a necessidade de também coloca-los
junto aos ícones, e não devem ser truncados, ocupando apenas uma linha;
- O design dos itens deve ser em duas categorias: item em foco; e itens fora de
foco. Ou seja, não utilize cores distintas para itens diferentes em foco. Se a cor
primária do app for a utilizada para itens em foco, sempre utilize ela
independente do item e da cor principal da tela de conteúdo acionada por ele.
Especificações de comportamento
- O acionamento de qualquer bottom
action não deve abrir outros menus
ou dialogs;
- Caso seja acionado um item já em
foco, o comportamento deve ser de
refresh de conteúdo, o que faríamos
caso um SwipeRefreshLayout
estivesse em uso;
- A navegação entre os itens do
BottomNavigationView deve
cancelar a tarefa atual em curso do
item anteriormente em foco;
- O apresentar / esconder do
BottomNavigationView, de acordo
com o scroll da tela, é algo opcional;
- O gesto de swipe na área de conteúdo não deve permitir a mudança de
conteúdo e nem mesmo a mudança de item no bottom navigation:
- O efeito de transição de conteúdo, se presente, deve ser com a animação de
fade (in / out).
- A navegação hierárquica dos conteúdos não deve tirar da tela o
BottomNavigationView, o que ocorre quando utilizando o menu gaveta.
Especificações de uso
- O BottomNavigationView deve ser considerado como opção de uso somente
para contextos onde há de 3 a 5 telas de alto nível no aplicativo:
- Para menos três telas, utilize tabs;
- Para mais de 5 telas, utilize o menu gaveta, isso, pois mais do 5 itens
atrapalha na experiência do usuário, UX, os itens ficam muito próximos uns
aos outros.
- Os conteúdos dos itens do bottom navigation devem ter similar importância no
aplicativo;
- Evite o uso, em mesma tela, de tabs e BottomNavigationView, pois isso tende
a confundir o usuário;
- O back button do device não deve acionar navegação de volta entre os itens do
BottomNavigationView, ou seja, não há o trabalho de empilhamento entre os
fragmentos acionados a partir dos bottom actions.
Codificação
Instalação
Para poder utilizar o BottomNavigationView
é necessário, no Gradle App Level, a
referência a biblioteca de suporte do Material
Design:
Certifique-se de sempre estar utilizando a
versão mais atual da library de suporte.
Definição em XML
Diferente do DrawerLayout que trabalha como uma espécie de invólucro a outros
componentes necessários a ele, o BottomNavigationView, apesar de herdar do
FrameLayout, é utilizado de maneira isolada, digo, sem componentes filhos
diretos, com uso de tags de abertura e de fechamento.
/res/layout/activity_main.xml
/res/menu/activity_main_bottom_actions.xml
Resultado em tela
Definição em linguagem de programação
Para a parte de programação, o principal é o acesso aos listeners de
acionamento e re-acionamento de bottom actions.
No código Kotlin ao lado
é assumido que o plugin
kotlin-android-extensions
está definido no projeto,
por isso não há
necessidade de uso do
método findViewById().
Todo o código XML do
BottomNavigationView
também é passível de
ser construído via
programação, com
qualquer uma das
linguagens oficiais para
o dev Android.
MainActivity.kt
Customização de itens
Caso queira definir outras cores
para os bottom actions e seus
componentes, pode utilizar os
atributos: app:itemBackground,
app:itemIconTint e
app:itemTextColor.
O conteúdo de cada um destes
atributos pode ser uma cor direta,
como em: @color/colorPrimary.
Ou um drawable que permite
mudanças de estilo de acordo com
o status do item, como o
@drawable/
bottom_item_background_color.
/res/drawable/bottom_item_background_color.xml
/res/layout/activity_main.xml
Note que no caso da definição
de um <selector> para o
atributo app:itemBackground,
ao invés de android:color
deverá ser utilizado o atributo
android:drawable.
Caso não queira trabalhar o
background dos itens de acordo
com os estados deles, algo
correto de se fazer quando
seguindo as regras do bottom
navigation no Material Design,
utilize o atributo
android:background.
O resultado é o mesmo do que
o apresentado com o
app:itemBackground quando
utilizando somente uma cor.
Resultado dos códigos XML do slide anterior
BottomNavigationView com android:background
Animação
Utilizando a API nativa do
BottomNavigationView não
precisamos nos preocupar com a
codificação de animação que nos
permitirá seguir as regras do
Material Design para este widget.
A versão nativa já faz, com
maestria, a parte dela: Ripple Effect,
mudança de cor e
redimensionamento de itens e
rótulos, incluindo a não
apresentação de rótulos de itens
não acionados em uma bottom
navigation pequena.
Clique para visualizar a animação
A parte de animação que devemos
implementar sem auxílio da API do
BottomNavigationView é a de transição de
fragmentos, algo também definido, como
opcional, nas especificações deste widget.
Clique para visualizar a animação
Pontos finais
Curiosidade
Na documentação, tanto a oficial do Android como a oficial do Material Design, não
há restrições de uso do BottomNavigationView junto a:
- DrawerLayout e NavigationView, também conhecidos como Menu Gaveta;
- BottomSheet;
- Snackbar;
- FloatingActionButton.
Uma observação importante é que não há necessidade e nem mesmo é inteligente
querer utilizar um ViewPager, que facilita a transição e cache de fragmentos, junto
ao BottomNavigationView. Isso principalmente pelo ViewPager permitir, por
padrão, a animação de swipe entre fragmentos, algo não permitido no bottom
navigation.
Limitações
Apesar da API nativa do BottomNavigationView ser bem simples de utilizar, ela
fica devendo em:
- Não fornecer uma maneira trivial de vincular fragmentos e animações de
transição aos itens, bottom actions. Algo que é possível quando utilizando
TabLayout e ViewPager;
- Não fornecer uma maneira trivial de ativar o scroll da barra de fundo de acordo
com o scroll do conteúdo em tela.
Outras APIs
A seguir alguns conteúdos com outras APIs de BottomNavigationView que
podem ser úteis em sua jornada como desenvolvedor Android:
- Ultimate Guide to Bottom Navigation on Android;
- AHBottomNavigation, API bottom navigation do artigo indicado no item anterior;
- Uma série de APIs no Android-Arsenal.
Conclusão
Com o BottomNavigationView, mesmo sabendo da não restrição do trabalho
junto ao menu gaveta, podemos assumir que ele veio também para substituir, em
alguns casos (de três a cinco itens), tanto o drawer navigation como também as
tabs de topo.
Respeitando ao menos as regras de cores, ícones e rótulos, já é o suficiente para
termos um bom uso do widget discutido nestes slides.
Caso precise de alguma funcionalidade ainda não atendida pela implementação
nativa do componente, não deixe de pesquisar por APIs de terceiros que permitam
o uso mais customizado do bottom navigation, que até o momento da construção
deste conteúdo, a versão nativa, não permitia de forma trivial o scroll de acordo
com a tela.
Fique atento quanto ao uso do BottomNavigationView, pois em alguns conteúdos
de estudo para o desenvolvimento destes slides foram encontrados casos onde um
ou outro item deste widget ficava desativado devido a algum passo que o usuário
ainda não havia percorrido no aplicativo. Uma das regras de negócio do
BottomNavigationView é o acesso imediato ao conteúdo do bottom action
acionado, sem necessidade de pré-requisitos.
Fontes
Conteúdo completo, em texto e em vídeo, no link a seguir:
- https://www.thiengo.com.br/bottomnavigationview-android-como-e-quando-utilizar
Fontes:
- https://material.io/guidelines/components/bottom-navigation.html
- https://developer.android.com/reference/android/support/design/widget/
BottomNavigationView.html
- https://medium.com/@hitherejoe/exploring-the-android-design-support-library-
bottom-navigation-drawer-548de699e8e0
- https://stackoverflow.com/a/44778453/2578331
- https://stackoverflow.com/a/40326245/2578331
- https://stackoverflow.com/a/30214843/2578331
Para estudo
- Treinamento oficial:
- Prototipagem Profissional de Aplicativos Android.
- Livros oficiais:
- Receitas Para Desenvolvedores Android;
- Refatorando Para Programas Limpos.
- Redes:
- Udemy;
- YouTube;
- Facebook;
- LinkedIn;
- GitHub;
- Twitter;
- Google Plus.
- Blog App.
Android
BottomNavigationView
thiengo.com.br
Vinícius Thiengo
thiengocalopsita@gmail.com

Mais conteúdo relacionado

PDF
Estudando Android - Lista de Conteúdos do Blog
PDF
Android: Avaliação do Pré-projeto Agenda Cultural
PDF
Trabalhando Análise Qualitativa em seu Aplicativo Android
PDF
Chips Android, Quando e Como Utilizar
PDF
Android Studio
PDF
Estudando Android - Lista de Conteúdos do Blog
PDF
Lottie API Para Animações no Android
PDF
Como Impulsionar o App Android - Compartilhamento Nativo
Estudando Android - Lista de Conteúdos do Blog
Android: Avaliação do Pré-projeto Agenda Cultural
Trabalhando Análise Qualitativa em seu Aplicativo Android
Chips Android, Quando e Como Utilizar
Android Studio
Estudando Android - Lista de Conteúdos do Blog
Lottie API Para Animações no Android
Como Impulsionar o App Android - Compartilhamento Nativo

Mais procurados (20)

PDF
PhotoView Android Para a Completa Implementação de Zoom
PDF
Android: Qual Tecnologia de Desenvolvimento Utilizar?
PPTX
Programação Android - Básico
PDF
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
PDF
Tutorial - Como criar sua primeira app para Android
PDF
Fontes em XML, Android O. Configuração e Uso
PDF
Apostila passo a passo como programar em android edição03
PDF
Android Aula 5
PDF
Capítulo 01 - Fundamentos de Android e o HelloWorld
PDF
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
PDF
Curso de Android Aula 4
PDF
Introdução ao Desenvolvimento Android
PDF
Curso de Android - aula 3
PDF
Curso de Android - aula 2
PDF
Android Aprendiz
PPT
Da introdução à prática no desenvolvimento Android
PPTX
Introdução ao desenvolvimento de apps para Android - Dia 2/2
PDF
Annotation Span Para Estilização de Texto no Android
PPT
Introdução à programação para Android
PDF
Desenvolvimento Android, por onde começar?
PhotoView Android Para a Completa Implementação de Zoom
Android: Qual Tecnologia de Desenvolvimento Utilizar?
Programação Android - Básico
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Tutorial - Como criar sua primeira app para Android
Fontes em XML, Android O. Configuração e Uso
Apostila passo a passo como programar em android edição03
Android Aula 5
Capítulo 01 - Fundamentos de Android e o HelloWorld
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Curso de Android Aula 4
Introdução ao Desenvolvimento Android
Curso de Android - aula 3
Curso de Android - aula 2
Android Aprendiz
Da introdução à prática no desenvolvimento Android
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Annotation Span Para Estilização de Texto no Android
Introdução à programação para Android
Desenvolvimento Android, por onde começar?
Anúncio

Semelhante a BottomNavigationView Android, Como e Quando Utilizar (7)

PPTX
Material Design - Melhorando a experiência de seu App
PDF
Neto Marin - Next Level Apps
PPTX
Material design - Teoria e prática
ODP
Intel Software Day 2015 - Material Design
PDF
Boas práticas para aplicativos android
PDF
UX and Material Design: Criando Aplicativos Android do Jeito Certo - Androido...
PDF
Guidelines - Design de apps (Apple iOS e Google Material Design) 2019
Material Design - Melhorando a experiência de seu App
Neto Marin - Next Level Apps
Material design - Teoria e prática
Intel Software Day 2015 - Material Design
Boas práticas para aplicativos android
UX and Material Design: Criando Aplicativos Android do Jeito Certo - Androido...
Guidelines - Design de apps (Apple iOS e Google Material Design) 2019
Anúncio

Mais de Vinícius Thiengo (17)

PDF
7 Livros Que Não São de TI, Mas Que Um Programador Deveria Ler
PDF
5 livros que não são de TI, mas que um desenvolvedor deveria ler
PDF
SelectionTracker Para Seleção de Itens no RecyclerView Android
PDF
Android About Page API Para Construir a Tela Sobre
PDF
Como Utilizar Métodos Binding Adapter no Android
PDF
Ajuste de Texto com Autosizing TextView - Android Jetpack
PDF
Live Templates Para Otimização de Tempo no Android Studio
PDF
Data Binding Para Vinculo de Dados na UI Android
PDF
Observable Binding Para Atualização na UI Android
PDF
True Time API Para Data e Horário NTP no Android
PDF
Utilizando Intenções Para Mapas de Alta Qualidade no Android
PDF
Leitor de Códigos no Android com Barcode Scanner API - ZXing
PDF
Como Reter Objetos Utilizando Android-State API
PDF
ViewModel Android, Como Utilizar Este Componente de Arquitetura
PDF
Freelancer Android
PDF
Definindo Fontes em Aplicativos Android
PDF
Material Design
7 Livros Que Não São de TI, Mas Que Um Programador Deveria Ler
5 livros que não são de TI, mas que um desenvolvedor deveria ler
SelectionTracker Para Seleção de Itens no RecyclerView Android
Android About Page API Para Construir a Tela Sobre
Como Utilizar Métodos Binding Adapter no Android
Ajuste de Texto com Autosizing TextView - Android Jetpack
Live Templates Para Otimização de Tempo no Android Studio
Data Binding Para Vinculo de Dados na UI Android
Observable Binding Para Atualização na UI Android
True Time API Para Data e Horário NTP no Android
Utilizando Intenções Para Mapas de Alta Qualidade no Android
Leitor de Códigos no Android com Barcode Scanner API - ZXing
Como Reter Objetos Utilizando Android-State API
ViewModel Android, Como Utilizar Este Componente de Arquitetura
Freelancer Android
Definindo Fontes em Aplicativos Android
Material Design

Último (13)

PPTX
ppt-licao04-jesusrestaurador.pptxxxxxxxxxx
PPTX
Viajando pela literatura brasileira.pptx
PDF
Slide de apresentação - legendas africanas
PDF
CERTIFICADO BIOMAS DO BRASIL DIVERSIDADE, SABERES E TECNOLOGIAS SOCIAIS.pdf
PPTX
tema_12_-_discipulado_novo_tempo.pptxxxxx
PDF
Apostila 1 - Despertar das Sobrancelhas.pdf
PPTX
tema_8_-_discipulado_novo_tempo.pptxxxxxx
PPTX
tema_3_-_discipulado_novo_tempo.pptxxxxxxx
PPT
inimigos-invisc3adveis.ppttttttttttttttttt
PPTX
Espatula Culinaria do futuro by inteligência artificial
PPTX
Teorias Motivacionais: Teoria das necessidades de Abrham Maslow
PDF
1507-1santificacao@3_slides.pdffffffffff
PPTX
tema_7_-_discipulado_novo_tempo.pptxxxxxx
ppt-licao04-jesusrestaurador.pptxxxxxxxxxx
Viajando pela literatura brasileira.pptx
Slide de apresentação - legendas africanas
CERTIFICADO BIOMAS DO BRASIL DIVERSIDADE, SABERES E TECNOLOGIAS SOCIAIS.pdf
tema_12_-_discipulado_novo_tempo.pptxxxxx
Apostila 1 - Despertar das Sobrancelhas.pdf
tema_8_-_discipulado_novo_tempo.pptxxxxxx
tema_3_-_discipulado_novo_tempo.pptxxxxxxx
inimigos-invisc3adveis.ppttttttttttttttttt
Espatula Culinaria do futuro by inteligência artificial
Teorias Motivacionais: Teoria das necessidades de Abrham Maslow
1507-1santificacao@3_slides.pdffffffffff
tema_7_-_discipulado_novo_tempo.pptxxxxxx

BottomNavigationView Android, Como e Quando Utilizar

  • 2. O componente visual O BottomNavigationView foi lançado no Android, como API nativa, somente em março de 2016, junto a versão 25 da Material Design Support Library. O foco deste componente visual é em devices mobile, sendo recomendado, quando em sistemas desktop ou Web, o uso do menu gaveta. Por fazer parte do pacote de suporte do Android, o BottomNavigationView atende às principais versões deste SO. Com o bottom navigation é possível prover ao usuário acesso rápido a telas de contextos similares, porém há uma série de regras de negócio sobre quando e como devemos utilizar este widget, regras também apresentadas e discutidas nos próximos slides.
  • 3. Especificações de design - Altura de 56dp e largura variando entre 80dp e 168dp: - A exceção é quando há animação e itens suficiente, na barra de fundo, para exigir que o item atualmente em foco tenha um espaço bem maior do que os outros: - Item ativo, de 96dp a 168dp; - Item inativo de 56dp a 96dp. - Quando há um número de itens onde até mesmo os rótulos de todos eles podem ser apresentados, neste caso todas as abas devem ter a mesma largura em qualquer status. - Ícones devem ter medidas como as dos ícones do NavigationView, 24dp x 24dp;
  • 4. - Os rótulos dos bottom actions, itens do BottomNavigationView, devem ser pequenos e significativos, isso caso haja a necessidade de também coloca-los junto aos ícones, e não devem ser truncados, ocupando apenas uma linha; - O design dos itens deve ser em duas categorias: item em foco; e itens fora de foco. Ou seja, não utilize cores distintas para itens diferentes em foco. Se a cor primária do app for a utilizada para itens em foco, sempre utilize ela independente do item e da cor principal da tela de conteúdo acionada por ele.
  • 5. Especificações de comportamento - O acionamento de qualquer bottom action não deve abrir outros menus ou dialogs; - Caso seja acionado um item já em foco, o comportamento deve ser de refresh de conteúdo, o que faríamos caso um SwipeRefreshLayout estivesse em uso; - A navegação entre os itens do BottomNavigationView deve cancelar a tarefa atual em curso do item anteriormente em foco; - O apresentar / esconder do BottomNavigationView, de acordo com o scroll da tela, é algo opcional;
  • 6. - O gesto de swipe na área de conteúdo não deve permitir a mudança de conteúdo e nem mesmo a mudança de item no bottom navigation: - O efeito de transição de conteúdo, se presente, deve ser com a animação de fade (in / out). - A navegação hierárquica dos conteúdos não deve tirar da tela o BottomNavigationView, o que ocorre quando utilizando o menu gaveta.
  • 7. Especificações de uso - O BottomNavigationView deve ser considerado como opção de uso somente para contextos onde há de 3 a 5 telas de alto nível no aplicativo: - Para menos três telas, utilize tabs; - Para mais de 5 telas, utilize o menu gaveta, isso, pois mais do 5 itens atrapalha na experiência do usuário, UX, os itens ficam muito próximos uns aos outros. - Os conteúdos dos itens do bottom navigation devem ter similar importância no aplicativo; - Evite o uso, em mesma tela, de tabs e BottomNavigationView, pois isso tende a confundir o usuário; - O back button do device não deve acionar navegação de volta entre os itens do BottomNavigationView, ou seja, não há o trabalho de empilhamento entre os fragmentos acionados a partir dos bottom actions.
  • 9. Instalação Para poder utilizar o BottomNavigationView é necessário, no Gradle App Level, a referência a biblioteca de suporte do Material Design: Certifique-se de sempre estar utilizando a versão mais atual da library de suporte.
  • 10. Definição em XML Diferente do DrawerLayout que trabalha como uma espécie de invólucro a outros componentes necessários a ele, o BottomNavigationView, apesar de herdar do FrameLayout, é utilizado de maneira isolada, digo, sem componentes filhos diretos, com uso de tags de abertura e de fechamento. /res/layout/activity_main.xml /res/menu/activity_main_bottom_actions.xml Resultado em tela
  • 11. Definição em linguagem de programação Para a parte de programação, o principal é o acesso aos listeners de acionamento e re-acionamento de bottom actions. No código Kotlin ao lado é assumido que o plugin kotlin-android-extensions está definido no projeto, por isso não há necessidade de uso do método findViewById(). Todo o código XML do BottomNavigationView também é passível de ser construído via programação, com qualquer uma das linguagens oficiais para o dev Android. MainActivity.kt
  • 12. Customização de itens Caso queira definir outras cores para os bottom actions e seus componentes, pode utilizar os atributos: app:itemBackground, app:itemIconTint e app:itemTextColor. O conteúdo de cada um destes atributos pode ser uma cor direta, como em: @color/colorPrimary. Ou um drawable que permite mudanças de estilo de acordo com o status do item, como o @drawable/ bottom_item_background_color. /res/drawable/bottom_item_background_color.xml /res/layout/activity_main.xml
  • 13. Note que no caso da definição de um <selector> para o atributo app:itemBackground, ao invés de android:color deverá ser utilizado o atributo android:drawable. Caso não queira trabalhar o background dos itens de acordo com os estados deles, algo correto de se fazer quando seguindo as regras do bottom navigation no Material Design, utilize o atributo android:background. O resultado é o mesmo do que o apresentado com o app:itemBackground quando utilizando somente uma cor. Resultado dos códigos XML do slide anterior BottomNavigationView com android:background
  • 14. Animação Utilizando a API nativa do BottomNavigationView não precisamos nos preocupar com a codificação de animação que nos permitirá seguir as regras do Material Design para este widget. A versão nativa já faz, com maestria, a parte dela: Ripple Effect, mudança de cor e redimensionamento de itens e rótulos, incluindo a não apresentação de rótulos de itens não acionados em uma bottom navigation pequena. Clique para visualizar a animação
  • 15. A parte de animação que devemos implementar sem auxílio da API do BottomNavigationView é a de transição de fragmentos, algo também definido, como opcional, nas especificações deste widget. Clique para visualizar a animação
  • 17. Curiosidade Na documentação, tanto a oficial do Android como a oficial do Material Design, não há restrições de uso do BottomNavigationView junto a: - DrawerLayout e NavigationView, também conhecidos como Menu Gaveta; - BottomSheet; - Snackbar; - FloatingActionButton. Uma observação importante é que não há necessidade e nem mesmo é inteligente querer utilizar um ViewPager, que facilita a transição e cache de fragmentos, junto ao BottomNavigationView. Isso principalmente pelo ViewPager permitir, por padrão, a animação de swipe entre fragmentos, algo não permitido no bottom navigation.
  • 18. Limitações Apesar da API nativa do BottomNavigationView ser bem simples de utilizar, ela fica devendo em: - Não fornecer uma maneira trivial de vincular fragmentos e animações de transição aos itens, bottom actions. Algo que é possível quando utilizando TabLayout e ViewPager; - Não fornecer uma maneira trivial de ativar o scroll da barra de fundo de acordo com o scroll do conteúdo em tela.
  • 19. Outras APIs A seguir alguns conteúdos com outras APIs de BottomNavigationView que podem ser úteis em sua jornada como desenvolvedor Android: - Ultimate Guide to Bottom Navigation on Android; - AHBottomNavigation, API bottom navigation do artigo indicado no item anterior; - Uma série de APIs no Android-Arsenal.
  • 20. Conclusão Com o BottomNavigationView, mesmo sabendo da não restrição do trabalho junto ao menu gaveta, podemos assumir que ele veio também para substituir, em alguns casos (de três a cinco itens), tanto o drawer navigation como também as tabs de topo. Respeitando ao menos as regras de cores, ícones e rótulos, já é o suficiente para termos um bom uso do widget discutido nestes slides. Caso precise de alguma funcionalidade ainda não atendida pela implementação nativa do componente, não deixe de pesquisar por APIs de terceiros que permitam o uso mais customizado do bottom navigation, que até o momento da construção deste conteúdo, a versão nativa, não permitia de forma trivial o scroll de acordo com a tela. Fique atento quanto ao uso do BottomNavigationView, pois em alguns conteúdos de estudo para o desenvolvimento destes slides foram encontrados casos onde um ou outro item deste widget ficava desativado devido a algum passo que o usuário ainda não havia percorrido no aplicativo. Uma das regras de negócio do BottomNavigationView é o acesso imediato ao conteúdo do bottom action acionado, sem necessidade de pré-requisitos.
  • 21. Fontes Conteúdo completo, em texto e em vídeo, no link a seguir: - https://www.thiengo.com.br/bottomnavigationview-android-como-e-quando-utilizar Fontes: - https://material.io/guidelines/components/bottom-navigation.html - https://developer.android.com/reference/android/support/design/widget/ BottomNavigationView.html - https://medium.com/@hitherejoe/exploring-the-android-design-support-library- bottom-navigation-drawer-548de699e8e0 - https://stackoverflow.com/a/44778453/2578331 - https://stackoverflow.com/a/40326245/2578331 - https://stackoverflow.com/a/30214843/2578331
  • 22. Para estudo - Treinamento oficial: - Prototipagem Profissional de Aplicativos Android. - Livros oficiais: - Receitas Para Desenvolvedores Android; - Refatorando Para Programas Limpos. - Redes: - Udemy; - YouTube; - Facebook; - LinkedIn; - GitHub; - Twitter; - Google Plus. - Blog App.