Material Dialog, Correção Bug StatusBar e Ações nos Fragments. Material Design Android - Parte 7

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

Email inválido.
Blog /Android /Material Dialog, Correção Bug StatusBar e Ações nos Fragments. Material Design Android - Parte 7

Material Dialog, Correção Bug StatusBar e Ações nos Fragments. Material Design Android - Parte 7

Vinícius Thiengo
(4948) (22)
Go-ahead
"O método consciente de tentativa e erro é mais bem-sucedido que o planejamento de um gênio isolado."
Peter Skillman
Prototipagem Android
Capa do curso Prototipagem Profissional de Aplicativos
TítuloAndroid: Prototipagem Profissional de Aplicativos
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
Acessar Curso
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Lendo
TítuloCraftsmanship Limpo: Disciplinas, Padrões e ética
CategoriaDesenvolvimento Web
Autor(es)Robert C. Martin
EditoraAlta Books
Edição1ª
Ano2023
Páginas416
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
Email inválido

Opa, blz?

Nesse vídeo continuo com a série Material Design no Android, dessa vez corrigindo alguns Bugs como o da StatusBar, colocando ações nos cliques nos itens do RecyclerView que anteriormente apenas chamava um Toast, e por final apresento a utilização de uma lib que nos permite colocar o Dialog no padrão do Material Design (a lib é meio bugada, mas funciona).

No vídeo apresento três maneiras de corrigir o problema de sobreposição de StatusBar quando rodando em Android com API maior ou igual a 19. A ültima solução pode sim parecer a melhor (visualmente ela é a melhor), porém não deixe de levar em conta o problema de dependencia grande a uma única lib.

Com o problema do Material Dialog, tentei corrigi-lo com diversos temas diferentes, com margin, ... mas mesmo assim aquela pequena barra no bottom não saiu, e quando saiu nós perdemos as bordas rounded nas APIs abaixo da 21.

Note que nos comentários sobre Fragment e Parcelable passei um pouco mais rápido, pois já fiz vídeos sobre essas entidades (estão abaixo no post). Então é isso, sem mais delongas vou deixar você assistir ao vídeo.

Obs. : O bug do profile atual não ser mantido no header do NavigationDrawer foi corrigido e está já no projeto disponível para download.

O link para download do projeto está logo abaixo no post.

Os links dos últimos vídeos da série Material Design no Android estão na área "Relacionado" do post.

Segue links de vídeos que podem lhe ajudar a compreender melhor o conteúdo do vídeo:

Parcelable no Android, Entendendo e Utilizando

Fragments no Android, Trabalhando com Múltiplas Activities

Ciclo de Vida e Otimização de Fragments no Android

Segue links das páginas apresentadas no vídeo:

Página de Buttons no guideline do Material Desing Android

Página da lib MaterialDialog no GitHub

Página da classe ContextThemeWrapper no site de documentação do Android

Vlw

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
Email inválido

Relacionado

Animação, onLongPress e GridLayoutManager em RecyclerView, Material Design Android - Parte 3Animação, onLongPress e GridLayoutManager em RecyclerView, Material Design Android - Parte 3Android
Utilizando CardView, Material Design Android - Parte 4Utilizando CardView, Material Design Android - Parte 4Android
Utilizando NavigationDrawer, Material Design Android - Parte 5Utilizando NavigationDrawer, Material Design Android - Parte 5Android
FloatingActionButton Com Três Diferentes Libs, Material Design Android - Parte 6FloatingActionButton Com Três Diferentes Libs, Material Design Android - Parte 6Android

Compartilhar

Comentários Facebook

Comentários Blog (22)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
Gabriel Tavares (1) (0)
14/10/2017
Por favor Thiengo, preciso muito da sua ajuda, nessa parte mesmo de ações no fragments. Eu estou parado no vídeo 9, porque meu aplicativo é sobre dicas para investir, mas eu não sei como colocar uma descrição para cada cardview. Por favor estou pedindo ajuda, preciso entregar Segunda... Já até entrei em contato por email e facebook, mas não está dando em nada...
Responder
Vinícius Thiengo (0) (0)
18/10/2017
Gabriel, tudo bem?

Desculpe a demora, eu somente consegui visualizar o comentário, e responde-lo, agora.

Já assistiu ao conteúdo do link a seguir, certo?

https://www.thiengo.com.br/utilizando-cardview-material-design-android-parte-4

Caso ainda não, assista ele, pois assim saberá prosseguir com a adição de descrição ao CardView.

Caso já tenha assistido ao conteúdo do link anterior, e sabendo que a dúvida não foi mais detalhado em seu comentário, recomendo que estude todo o artigo, em texto, do link a seguir: https://www.thiengo.com.br/fontes-em-xml-android-o-configuracao-e-uso

Por que essa indicação e não uma mais específica? Porque nela tenho um projeto real que faz uso de CardView com texto e Imagem, assim será mais tranquilo aprender como fazer.

Mas acredite, é algo simples, rapidamente você estará colocando conteúdos em seus CardViews.

Abraço.
Responder
Gustavo Mendes (1) (0)
26/04/2016
Olá, gostei muito do material!
Como colocaria EditText dentro da caixa do Diálogo usando esse MaterialDialog? Att.
Responder
Vinícius Thiengo (1) (0)
30/04/2016
Fala Gustavo, blz?
Com essa library não lembro ser possível, mas tente com essa (https://github.com/afollestad/material-dialogs ). Abraço
Responder
Gustavo Mendes (1) (0)
02/05/2016
Assim que criei a pergunta eu achei essa biblioteca mas não consegui introduzir no mesmo projeto que o seu, seguindo as videos aulas, poderia me ajudar?
Responder
Vinícius Thiengo (0) (0)
07/05/2016
Fala Gustavo, respondido via email. Abraço
Responder
Evandro (0) (0)
03/02/2016
Olá, estou em um projeto onde eu não trabalho com maven então como faço para baixar a lib materialdialog?
Responder
Vinícius Thiengo (0) (0)
04/02/2016
Fala Evandro, blz?
Está utilizando o AndroidStudio? O JCenter, pode utilizar (esse tem o conteúdo do maven tb)? O JCenter deve ser o suficiente. Abraço
Responder
Nathan (1) (0)
20/08/2015
Thiengo tudo bom? Implementei o Navegation Drawer e o botão físico Voltar fecha minha aplicação por inteira e não apenas o Navegation Drawer. Gostaria de ajuda pra resolver esses problemas. Obrigado
Responder
Vinícius Thiengo (0) (0)
20/08/2015
Fala Nathan, blz?
Baixe o projeto em GitHub (https://github.com/viniciusthiengo/tc-material-design ) e veja a solução implementada no método onBackPressed() na MainActivity. Essa é a solução para esse bug. Abraço
Responder
24/07/2015
Olá Thiengo,
Uma dica interessante: https://github.com/afollestad/material-dialogs
Estou utilizando essa lib para trabalhar com os Dialogs no Material Design. O desenvolvedor está atualizando constantemente, e, aparentemente está mais "madura" e com menos bugs que essa do drakeet (MaterialDialog).

Abraços!
Responder
Vinícius Thiengo (0) (0)
24/07/2015
Vlw Derci
Responder
Aricelio (2) (0)
14/05/2015
Fala Thiengo blz? Primeiramente parabéns pelos vídeos, estão me ajudando muito. Tenho uma dúvida e não consegui encontrar a resposta em outros sites, como consigo mudar o ícone padrão do menu da toolbar? Tirar o ícone desses três pontinhos e colocar outro. Obrigado
Responder
Vinícius Thiengo (1) (0)
14/05/2015
Fala Aricelio, blz sim.
Tente a resposta certa desse link (http://stackoverflow.com/questions/9733312/changing-overflow-icon-in-the-action-bar ). No caso ele estava com o ActionBar, vc utilizará o android:actionOverflowButtonStyle em seu theme do Toolbar, não altere para ActionBar. Ve se assim vai. De qualquer forma dê uma olhada nesse link primeiro (http://stackoverflow.com/questions/29038861/how-to-change-toolbar-navigation-and-overflow-menu-icons-appcompat-v7 ), pois ele é diretamente com Toolbar. Abraço
Responder
Aricelio (1) (0)
15/05/2015
Fala Thiengo blz? Consegui mudar o icone com a dica que vc me deu, muito obrigado! Agora estou com uma outra duvida, como faço pra pegar o evento de clique no icone? Por exemplo no seu app quando é clicado no icone aparece a Dialog do Go-ahead. Eu queria fazer algo parecido, mas abrir uma activity especifica quando clicado no icone. Desde já agradeço. Parabens pelo seu trabalho!
Responder
Vinícius Thiengo (1) (0)
16/05/2015
Blz sim Aricelio. Veja esse vídeo (http://www.thiengo.com.br/toolbar-material-design-android-parte-1 ), nele mostro como fazer isso, inclusive já abrindo uma Activity. Se estiver com pouco tempo baixe a APP de exemplo que fica disponível para download e veja a implementação do método onOptionsItemSelected() na MainActivity. Abraço
Responder
13/05/2015
SearchView  por favor? rsrs
Parabens!
Responder
miguelslemos (2) (0)
12/05/2015
Alguma previsão de quando sairá o vídeo sobre volley no recycle view?
Responder
Vinícius Thiengo (2) (0)
13/05/2015
Fala Miguel, blz?
Sem datas! Mas vou ver se adianto o quanto antes, pois tem mais seguidores do Blog pedindo ela. Abraço
Responder
11/05/2015
Fala Thiengo, blz?
Cara muito bom o vídeo, estou acompanhando desde o inicio e está ficando um melhor que o outro.
Seguinte já que esse é para correções, identifiquei um problema, quando você seleciona um carro e tenta abrir o NavigationDrawer, o menu vem em branco.

Outra coisa, é mais uma dúvida mesmo, como implemento a opção de voltar pra activity anterior mas mudando o título também? Adicionei o backStack e funciona ok voltar pra activity anterior, porém o titulo permanece com o último selecionado.=\
Responder
Vinícius Thiengo (1) (0)
13/05/2015
Fala Bruno, blz? O voltar vc diz alterar o title da Activity que chamou a Activity atual ou alterar o title da Activity que está sainda da pilha de Activities? Vou assumir que é o caso 1. Vc pode utilizar os métodos do ciclo de vida da Activity e então alterar o title por lá. No caso fiz um teste colocando o mToolbar.setTitle("aqui o title") no onPause(), se vc quiser alterar somente quando vier de uma determinada Activity, então terá de utilizar o startActivityForResult() para iniciar a Activity e o método do ciclo de vida onActivityResult() para pegar qual foi a Activity e então alterar o title da toolbar. Quanto ao problema do drawer em branco, resolvi na forma abaixo. Ficou meio gambiarrado, mas vendo até mesmo a implementação de exemplo da lib, não tinha o voltar sem o Drawer implementado, tb não encontrei um método na lib que permitia essa feature, logo fiz a gambiarra a seguir:
navigationDrawerLeft = new Drawer()
.withActivity(this)
.withToolbar(mToolbar)
.withActionBarDrawerToggle(false)
.withCloseOnClick(true)
.withActionBarDrawerToggleAnimated(false)
    .withActionBarDrawerToggle(new ActionBarDrawerToggle(this, new DrawerLayout(this), R.string.drawer_open, R.string.drawer_close){
        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {
            super.onDrawerSlide(drawerView, slideOffset);
            navigationDrawerLeft.closeDrawer();
            finish();
        }
    })
.build();
Responder
11/11/2015
E ai Bruno e Thiengo, beleza? Eu estava com o mesmo problema do Bruno, precisava desabilitar o drawer do menu. Procurei bastante e consegui dessa forma, menos gambiarrenta:
menu = new DrawerBuilder()
                .withActivity(this)
                .build();
        menu.getDrawerLayout().setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
Consultei as issues da própria lib, foi postada a 2 dias atrás, espero que ajude o pessoal que estiver com o mesmo problema. E Thiengo, parabéns pelo trabalho. Abs
Responder