Toolbar, Material Design Android - Parte 1

Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog. Você receberá um email de confirmação. Somente depois de confirma-lo é que poderei lhe enviar os conteúdos exclusivos.

Email inválido.
Blog /Android /Toolbar, Material Design Android - Parte 1

Toolbar, Material Design Android - Parte 1

Vinícius Thiengo
(23584) (71) (3)
Go-ahead
"Não podemos estar em modo de sobrevivência. Temos de estar no modo de crescimento."
Jeff Bezos
Kotlin Android
Capa do livro Desenvolvedor Kotlin Android - Bibliotecas para o dia a dia
TítuloDesenvolvedor Kotlin Android - Bibliotecas para o dia a dia
CategoriasAndroid, Kotlin
AutorVinícius Thiengo
Edição
Ano2018
Capítulos19
Páginas1035
Acessar Livro
Treinamento Oficial
Android: Prototipagem Profissional de Aplicativos
CursoAndroid: Prototipagem Profissional de Aplicativos
CategoriaAndroid
InstrutorVinícius Thiengo
NívelTodos os níveis
Vídeo aulas186
PlataformaUdemy
Acessar Curso
Receitas Android
Capa do livro Receitas Para Desenvolvedores Android
TítuloReceitas Para Desenvolvedores Android
CategoriaDesenvolvimento Android
AutorVinícius Thiengo
Edição
Ano2017
Capítulos20
Páginas936
Acessar Livro
Código Limpo
Capa do livro Refatorando Para Programas Limpos
TítuloRefatorando Para Programas Limpos
CategoriaEngenharia de Software
AutorVinícius Thiengo
Edição
Ano2017
Capítulos46
Páginas599
Acessar Livro
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Conteúdo Exclusivo
Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog.
Email inválido

Opa, blz?

Nesse vídeo começo a série sobre Material Design e outras novas entidades no Android. No primeiro vídeo apresento algumas maneiras de utilizar o Toolbar no Android (como ActionBar e como Standalone mode). Bem simples de configurar a Toolbar é um ViewGroup (como LinearLayout, por exemplo) diferente do que era a antiga ActionBar que fazia parte da Activity. No vídeo implemento além do modelo convencional de ActionBar, uma Toolbar no bottom do layout trabalhando como uma barra de redes sociais da APP e área de link de acesso a parte de configurações da APP. Na SecondActivity mostro uma forma de se montar a Floating Toolbar, utilizando <selector> quando em versões maiores ou iguais a API 21 (Lollipop) e utilizando 9patch caso contrário. Fique atento ao modo de setar o listener de click ao ImageView que está dentro do Toolbar.

Note que a barra de redes socias do vídeo é uma barra fake, pois não setei as urls corretas das páginas sociais do blog, caso queira reaproveita-la altere as urls para as de sua APP nas redes sociais. Não esqueça de setar no gradle a lib de suporte que permitirá a utilização do Toolbar em versões anteriores a API 21. Sem mais delongas vou deixá-lo assitir o vídeo.

Obs. : As implementações dos ícones e funcionalidades de Search e Navigation vou colocar em videos futuros da série, esse foquei apenas no Toolbar.

O link para download do projeto se encontra logo abaixo no post.

Segue link do vídeo sobre o 9patch:

9-Patch no Android, Mantendo a Qualidade de Imagens de Background

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

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

Página de implementação do Material Design no Android, área de cores a serem definidas

Post do Android Developers Blog com implementação da Toolbar via AppCompat v21

Post do Android Developers Blog com implementação do Material Design no Android

Área da Toolbar na guideline do Material Design Android

Material Pallete para definição de paletas para APP Android

Material Design Icons para download de icons para Android

Android Asset Studio para simplificação na criação imagens 9patch

Vlw

Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog.
Email inválido

Relacionado

Obtendo Localização Com Location API no Android - Parte 1Obtendo Localização Com Location API no Android - Parte 1Android
JobScheduler API no Android, Entendendo e UtilizandoJobScheduler API no Android, Entendendo e UtilizandoAndroid
Tracking Com Location API, JobScheduler e Google Maps V2 no Android - Parte 4Tracking Com Location API, JobScheduler e Google Maps V2 no Android - Parte 4Android
Busca Por Locais Próximos, Location API Android - Parte 5Busca Por Locais Próximos, Location API Android - Parte 5Android

Compartilhar

Comentários Facebook (18)

Comentários Blog (53)

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...
Thiago Peres (1) (0)
29/08/2017
Thiengo, fala ai, beleza?
Então meu camarada, estou tentando implementar a Toolbar no meu App, só que está dando erro ao abrir o aplicativo no emulador... Eu baixei o seu exemplo e quando rodo, ele funciona normalmente... Criei a Toolbar e os menus igualmente como está no video tutorial, e começou a dar erro no meu App, antes funcionava normalmente, a tela de Login e etc... Segue abaixo o erro que dá no LogCat...

FATAL EXCEPTION: main
                                                                                               Process: com.caixinhadosmotoristas.caixinhamotoristasapp, PID: 5059
                                                                                               java.lang.RuntimeException: Unable to start activity ComponentInfo{com.caixinhadosmotoristas.caixinhamotoristasapp/com.caixinhadosmotoristas.caixinhamotoristasapp.PerfilActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.Toolbar.setTitle(java.lang.CharSequence)' on a null object reference
                                                                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
                                                                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                                                                                                   at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                                                                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                                   at android.os.Looper.loop(Looper.java:154)
                                                                                                   at android.app.ActivityThread.main(ActivityThread.java:6077)
                                                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
                                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
                                                                                                Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.Toolbar.setTitle(java.lang.CharSequence)' on a null object reference
                                                                                                   at com.caixinhadosmotoristas.caixinhamotoristasapp.PerfilActivity.onCreate(PerfilActivity.java:28)
                                                                                                   at android.app.Activity.performCreate(Activity.java:6662)
                                                                                                   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
                                                                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
                                                                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) 
                                                                                                   at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                                                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) 
                                                                                                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                                   at android.os.Looper.loop(Looper.java:154) 
                                                                                                   at android.app.ActivityThread.main(ActivityThread.java:6077) 
                                                                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
                                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Responder
Vinícius Thiengo (0) (0)
01/09/2017
Thiago, tudo bem?

O Toolbar não está preenchido antes da invocação do método setTitle().

Certifique-se de que está utilizando o ID correto no findViewById() e que o Toolbar não está nulo até antes da invocação do setTitle().

Um outro detalhe. O setTitle() tende a ser eficiente no método onResume(), então ante essa atualização de título neste método do ciclo de vida da atividade.

Abraço.
Responder
24/01/2017
Thiengo, como vai cara? Beleza?
Procurei no seu blog algo que tenha haver mas não achei nada e esse post é algo que mais tem haver...
Minha dúvida é o seguinte... Minha aplicação tem um tema padrão que é executado automaticamente com a aplicação, no entanto, dependendo da escolha do usuário, um webservice trás informações de três cores para mudar na aplicação (primaryColor, darkPrimaryColor e accentColor), ressalto que essas cores são retiradas do "materialpalette.com" seguindo o padrão exigido pela google. Minha idéia é carregar o tema padrão de alguma forma, mudar apenas esses 3 parametros e ao inicializar a próxima activity já instanciar ela com esse tema alterado. (Pelo que li, a única forma de mudar de fato o tema é antes de iniciar uma activity.
Você já viu algo sobre isso? Procurei bastante e não achei nada.

Desde já um obrigado.
Responder
Vinícius Thiengo (0) (0)
25/01/2017
Alex, tudo bem?

Não vou lhe falar que é impossível, pois ainda não li na documentação do Android sobre ?ser impossível?, digo, a alteração das cores de template em tempo de execução.

O que tenho certeza ser possível é você ter vários temas já definidos, com suas próprias cores, e então vinculai-los a diferentes activities para assim ter a característica de activities distintas ao longo do uso do APP.

Mas nada relacionado a mudança em tempo de execução.

Na versão 2.0 do aplicativo do Blog, precisei de uma Bottom Bar para os botões de compartilhamento em redes sociais. Nessa época ainda não era comum a avalanche de libraries que temos hoje no Android.

Sendo assim eu tive de desenvolver, com Views, essa Bottom Bar, incluindo versões distintas para landscape e portrait.

O que quero lhe dizer com isso é que ainda há a possibilidade de você alterar as cores de cada View no código? incluindo os textos e ícones. Terá de fazer o teste para ver se, por exemplo, essa tática funcionaria com a mudança de cor da Toolbar.

Vale a busca também no AndroidArsenal (https://android-arsenal.com/ ) para ver se já não existe algo similar ao que você precisa, digo, uma library que lhe ajuda com essa tarefa. Abraço.
Responder
Jairo Souza (1) (0)
16/04/2016
Olá Vinícius, estou com um problema aqui.


java.lang.NoClassDefFoundError: android/support/v4/content/ContextCompatApi21
at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:319)
at android.support.v7.internal.widget.TintManager.getDrawable(TintManager.java:137)
at android.support.v7.internal.widget.TintTypedArray.getDrawable(TintTypedArray.java:62)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:250)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:192)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:458)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:170)
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:103)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:168)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:247)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:171)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:157)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:879)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:831)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:811)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:223)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:426)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:510)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:498)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:498)
at com.android.tools.idea.rendering.RenderTask.access$600(RenderTask.java:72)
at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:610)
at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:607)
at com.android.tools.idea.rendering.RenderService.runRenderAction(RenderService.java:362)
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:607)
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:629)
at com.intellij.android.designer.designSurface.AndroidDesignerEditorPanel$6.run(AndroidDesignerEditorPanel.java:480)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:351)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Responder
Vinícius Thiengo (1) (0)
16/04/2016
Fala Jairo, blz?
Colocou as libraries necessárias (e em versões mais atuais que as utilizadas em vídeos) em seu projeto e logo depois deu um Build > Rebuild Project? Caso ainda não faça isso. Não esqueça de adiocionar tb a versão de support do material design (compile 'com.android.support:design:23.3.0') Abraço
Responder
12/04/2016
Boa noite Thiengo. Ótimo App.  tenho uma dúvida. eu tenho um recyclerview e no evento onlongpress eu ativo um ActionMode com uma nova toolbar com botões para excluir.  Só que na minha App está ficando está nova toolbar e abaixo a toolbar principal com menu home e titulo. Gostaria de saber como esconder está toolbar principal e fixar somente a toolbar da ActionMode? grato.
Responder
Vinícius Thiengo (0) (0)
17/04/2016
Fala Wagner, blz?
O que está utilizando para tentar esconder a Toolbar principal? Utilizou setVisibility(View.Gone)? Abraço
Responder
01/01/2016
Ola thiengo gostaria de perguntar se dar para, fazer as mesmas coisas e  trazer o material Design do Android desse Video para o Eclipse ADT
Responder
Vinícius Thiengo (0) (0)
02/01/2016
Fala Dan, blz?
Provavelmente sim, primeiro configure o Gradle em seu Eclipse como nesse tutorial (http://www.vogella.com/tutorials/EclipseGradle/article.html ). Logo depois é seguir a série colocando as libraries como se estivesse com o AndroidStudio. Abraço
Responder
Thiago Melo (1) (0)
10/11/2015
Thiengo, estou iniciando no desenvolvimento android e gostaria de uma dica de onde e por qual video seu começar.

Estou tendo dificuldades pois, a sua aula "Toolbar, Material Design Android - Parte 1" parece estar faltando  algum pedaço inicial, pois não estou conseguindo seguir as aulas quando eu executo a aplicação no emulador esta dando erro.
Responder
Vinícius Thiengo (1) (0)
14/11/2015
Fala Thiago, blz?
Veja primeiro como debugar os erros pelo LogCat (http://www.thiengo.com.br/entendendo-e-utilizando-o-a-classe-log-com-o-logcat-no-android ). Na época o ActionBarActivity ainda estava sendo utilizado, hj já é o AppCompatActivity, logo realize essa mudança no extends de suas Actities, pode ser esse tb o problema. Abraço
Responder
Rafael Mayer (1) (0)
25/08/2015
Muito bom o vídeo, mas aumente o volume do áudio no vídeos está muito baixo.
Responder
Claudson (2) (0)
06/08/2015
Thiengo,
Ao criar a activity ela extend a ActionBarActivitymas diz is deprecated e o nome está com o risco e n me deixa fazer o setSupportActionBar
Responder
Vinícius Thiengo (3) (0)
07/08/2015
Fala Claudson, blz?
Coloque para herdar de AppCompatActivity. Abraço
Responder
Claudson (1) (0)
07/08/2015
Muito Obrigado Thiengo, funcionou! :)
Responder
Eduardo (1) (0)
16/07/2015
Fala Thiengo blz?
Então, dei uma revirada nos seus videos e não achei nenhum que ensinava como configurar o botão back do android, estou com um problema nele que é quando eu aperto back ele destrói a atividade, gostaria que quando eu saísse a atividade desse um stop, vlww
Responder
Vinícius Thiengo (0) (0)
17/07/2015
Fala Eduardo, blz sim.
Vc diz parada no método onStop()? De qualquer forma, até onde sei isso não é possível, com uma Activity não, pois depois que vc deu o back, vc não tem mais controle da Activity a ponto de poder mante-la na pilha de Activities sendo que ela estava no topo anteriormente. Vc tem o onBackPressed (http://stackoverflow.com/a/18337567/2578331 ) no qual pode dar um override e mudar como será a volta para a Activity anterior. Se tiver de deixar algo rodando no background quando sai da Activity, utilize um Service para isso. Abraço
Responder
Danilo Furtado (1) (0)
15/07/2015
Thiengo, só uma Dúvida, esse material designer, qual o menor api ele suporta, tipo, posso desenvolver uma app com target de android 3.0 por exemplo ?
Responder
Vinícius Thiengo (0) (0)
16/07/2015
Fala Danilo, blz?
Na verdade hj o Google já disponibilizou a lib de suporte para aplicação do Material Design em APIs anteriores a API 21 (http://android-developers.blogspot.com.br/2015/05/android-design-support-library.html ). Porém ainda há algumas features que não estão disponíveis nesse lib de suporte, logo ainda dependemos de libs de terceiros que podemos encontrar, por exemplo, no Android Arsenal (https://android-arsenal.com/ ). E algumas dão ou não suporte para as APIs antigas que queremos que o APP rode, nesses casos o que devemos fazer é não chamar as entidades dessa feature sem suporte na API sendo utilizada, apenas rodar com o que é possível, pois dessa forma ainda teremos nossa APP rodando em APIs antigas, mesmo sem algumas features desligadas para não gerar exceptions. Então é, o suporte a versão 3.0 e abaixo tem dependendo da feature que quer utilizar. Abraço
Responder
wagner (1) (0)
13/07/2015
Thiengo, parabéns pelo material de ótima qualidade.  tenho uma dúvida relacionada a toolbar.  no meu recyclerview no evento onlongpress eu ativo uma toolbar com alguns botões  e tem um botão voltar, como eu pego o clica do botão voltar? Já tentei com onbackpres e com keydow mas nenhum funcionou, tem alguma idéia? grato.
Responder
Vinícius Thiengo (0) (0)
14/07/2015
Fala Wagner, blz?
O backButton que está utilizando é o convencional que é disponibilizado com o código abaixo?

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Com o código acima vc captura o clique no backButton no método onOptionsItemSelected(). Veja o código de volta desse script (http://www.thiengo.com.br/buscas-com-searchview-e-searchrecentsuggestions-material-design-android-parte-13 ). Abraço
Responder
henrique miller (2) (1)
17/06/2015
thiengo otimo video. baixei o projeto. mas, tentei importar o projeto no eclipse. mas os projetos estão vindo com a pasta src vazia. tem algum problema ao importar pro eclipese ou so pode ser usado no android studio?
Responder
Vinícius Thiengo (0) (0)
17/06/2015
Fala Henrique, blz?
Tente criando um projeto e depois e copiando e colando as entidades do AndroidStudio Project, pois se não me engano o Eclipse não vai realizar o import correto se o project não for um Eclipse Project. Abraço
Responder
Alexandre Ferreira (1) (0)
03/06/2015
Fala Thiengo, será que pode me dar uma ajuda no seguinte error : java.lang.NoClassDefFoundError: android/support/v7/appcompat/R$attr   at android.support.v7.widget.Toolbar. ... Estava utilizando um projeto no eclipse quando foi inserir a Toolbar apareceu este erro, e quando estou desenvolvendo no Android Studio acontece a mesma coisa e nao consigo utilizar o Toolbar. Tem alguma ideia do que seja , pois já procurei em varios tutorias e foruns e nada
Responder
Vinícius Thiengo (0) (0)
04/06/2015
Fala Alexandre, blz?
Verificou no gradle se as libs de suporte v4 e v7, como abaixo:

compile 'com.android.support:appcompat-v7:22.1.1'
compile 'com.android.support:support-v4:22.1.1'
Responder
Alexandre (1) (0)
05/06/2015
Thiengo blz, realizei o procedimento que você me informou mais mesmo assim não funcionou não sei mais o que fazer
Responder
Vinícius Thiengo (0) (0)
06/06/2015
Alexandre, faça o seguinte, baixe o projeto de exemplo que está disponível aqui no post e tente rodá-lo. Já tentou isso? Se mesmo assim não rodar atualize o Android Studio, digo, o SDK. Depois informe se passou, pois se o projeto de exemplo passar sem problemas, isso indica que foi alguma coisa em sua APP que vc esqueceu de colocar. Se mesmo assim não der, volte ae para darmos um deep look em seu project. Abraço
Responder
Alexandre (1) (0)
06/06/2015
Bom dia Thiengo, infelizmente mesmo com o seu projeto não rodou da o mesmo error: Android.support.v7.widget.toolbar
Responder
Vinícius Thiengo (0) (0)
06/06/2015
Alexandre, aparentemente é um bug na lib de support, veja esse link (https://code.google.com/p/android/issues/detail?id=78377 ). Principalmente com devices android com a versão 4.2.2. Se possível me envie seu projeto AS por email (thiengocalopsita@gmail.com) que quero dar uma olhada nesse problema, pois eu mesmo não tenho ele aqui. Abraço
Responder
30/07/2015
Olá Alexandre, para resolver seu problema segue o link (http://stackoverflow.com/questions/29025961/setsupportactionbar-toolbar-error ). Na sua Activity.java, apague a import android.widget.Toolbar   e substitua por: import android.support.v7.widget.Toolbar;  Espero ter ajudado. Créditos: Mohit Singh
Responder
Gabriel Vitor (1) (0)
24/05/2015
Eaii blz!!
Gostaria de saber se tem como eu fazer um link do meu aplicativo pra outro aplicativo instalado no meu celular (tipo: clicando em um botão o aplicativo me direciona direto para outro aplicativo)
Responder
Vinícius Thiengo (1) (0)
24/05/2015
Fala Gabriel, blz.
Dê uma olhada na resposta certa desse post (http://stackoverflow.com/questions/2780102/open-another-application-from-your-own-intent ), aparentemente é o mesmo script que está buscando. Abraço
Responder
Alexandre (1) (0)
22/05/2015
Fala Thiengo blz ? E o seguinte como faco para colocar uma imagem na Toolbar semelhante ao do material desing que tem algumas fotos e depois informações ?
Responder
Vinícius Thiengo (0) (0)
23/05/2015
Fala Alexandre, blz?
Vc diz iguais a dessa lib (https://github.com/ksoichiro/Android-ObservableScrollView )? Abraço
Responder
13/05/2015
Opa Thiengo,blz?
Só uma duvida, as cores do Dark Primary Color só funcionam no Lollypop ? Pois nas duas outras APIs que voce emulou a cor não foi alterada.
Obrigado.
Responder
Vinícius Thiengo (1) (0)
13/05/2015
Fala Andrea, blz?
Isso acontece pq somente a a partir da API 19 é que temos o Status Bar transparente e passível de alteração de cor. Abraço
Responder
Ismael (1) (0)
09/05/2015
fala thiengo parabéns pelo blog excelente material.
Responder
Jonatas Oliveira (1) (0)
30/04/2015
Aew Thiengo blz?
Cara muito útil um tutorial sobre material design em portugues! :D

Já consegui implementar tudo que queria, o problema agora esta nas sub-telas (telas filhas). Pois não consegui fazer aparecer a seta para voltar para tela anterior.
estou usando o getSupportActionBar().setDisplayShowHomeEnabled(true);
mas não parece nada la em cima. Tentei botar um parentActivityName no manifest mas da erro. Como resolvo isso nesse novo toolbar?
Responder
Vinícius Thiengo (0) (0)
01/05/2015
Fala Jonatas, blz sim.
Fez da seguinte maneira em sua Activity:

mToolbar = (Toolbar) findViewById(R.id.app_bar);
        setSupportActionBar(mToolbar);
        getSupportActionBar().setHomeButtonEnabled(true);
     getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Se mesmo assim não rodou, se possível coloque aqui o erro printado no LogCat depois de tentar parentActivityName. Abraço
Responder
wesley.c.reis (1) (0)
12/04/2015
Meus parabéns pelos videos, aprendo muito com seus materiais.
Você pretende fazer algum video, com ActionButtons aninhados, igual ao do google Keep. achei muito interessante, porém com material muito reduzido para implementar. Abraço a todos e boa noite.
Responder
Vinícius Thiengo (1) (0)
27/04/2015
Fala Wesley, quando for implementar o Floatting Action Button provavelmente sim, tem uma lib que faz isso (pelo menos uma). Abraço
Responder
03/04/2015
Eai Vinicius, eu queria que vc me explicasse como funciona pra fazer aquelas famosas introduções em que são separadas em três partes, o Telegram tem logo na primeira vez de uso, eu acho. Tambem queria saber como faz aquelas animações no layouts, só que aquelas do BomNegocio.apk, se n for pedir de mais da uma olhada e se puder me passe um link (n em inglês), mas acho que já pedi muitoo. eheh
Responder
Vinícius Thiengo (1) (0)
04/04/2015
Fala Richard, blz?
A introdução tem várias formas de se fazer, mas acredito que a tela de introdução não é algo somente estético, mt provavelmente ela está ali trabalhando como um padrão Proxy, onde ela permanece na tela até o conteúdo remoto ser carregado e poder ser apresentado para o usuário. Mas há sim APPs que mostram somente por estético, que acho uma ideia não mt boa, até pq vc somente atrasa o acesso do user ao conteúdo da APP. Mas enfim, vc pode colocar a Activity de abertura como sendo a Activity que tem essa fullscreen com o Logo da APP e algumas animações (se quiser), se quiser abrir essa tela somente na primeira vez que o usuário acessa a APP, vc pode utilizar um flag no SharedPreferences e verificar ele logo no onCreate() da Activity se a APP já foi aberta antes ou não, caso não vc apresenta a tela de entrada, coloca dentro de uma Thread de background o tempo que vc quer essa tela sendo apresentada, pode utilizar o SystemClock.sleep(5000) por exemplo dentro dessa Thread de background, assim que o tempo acabar vc entra em um runOnUiThread() e chama a próxima Activity (startActivity()). Se verificar que a flag acusa a APP já ter sido aberta, vc ali mesmo no onCreate() vai para a outra Activity.

No caso da Animação, conteúdo não sendo em inglês é dificil, os conteúdos que tenho em português para ti são um post da Caelum (http://blog.caelum.com.br/criando-animacoes-no-android/ ) e um post que fiz sobre objectAnimator (http://www.thiengo.com.br/objectanimator-no-android-aplicando-efeitos-nos-componentes-visuais ), porém vc terá de ter imaginação e criar o conteúdo animado com o ObjectAnimator (que é bem possível), porém com animação entre Activities utilizando entidades do Android API 19 ainda não tenho conteúdo, mas provavelmente colocarei nesses vídeos sobre MaterialDesign. Abraço
Responder
Felipe (1) (0)
03/04/2015
Excelente vídeo, muito bem explicado.

Parabéns.
Responder
01/04/2015
Thiengo como implementa o material design em APP para o Android 4.1.2
Responder
Vinícius Thiengo (3) (0)
01/04/2015
Fala Gabriel, blz?
Esse vídeo já mostra isso, continue seguindo que verá as outras entidades do Android API 21 sendo colocadas com support tb. Abraço
Responder
Leandrox364 (2) (0)
30/03/2015
show de bola aguardar os outros videos parabens.
Responder
Desenvolvedor Timbo (1) (0)
30/03/2015
Opa thiengo. beleza? então estou utilizando o Eclipse Adt e queria saber como eu faço para setar a lib de compatibilidade do toolbar no eclipse ? sera que eu jogo o na pasta Libis ?  aguardo resposta
Responder
Vinícius Thiengo (0) (0)
31/03/2015
Fala Timbo, blz?
N oEclipse vc terá um projeto com o nome appcompat-v7, se não me engano, ele é um projeto do tipo lib, logo em seu projeto vc clica com o botão direito nele > Properties > Android > Library > Add > então selecione a appcompat-v7. Deve funcionar, não sei mais como andas o Android no Eclipse. Abraço
Responder
Wasley (4) (0)
30/03/2015
Muito bom o vídeo. Como sempre ótimos vídeos.
Responder
lucasadorno16 (6) (1)
30/03/2015
Aguardava muito o vídeo sobre isso. Explica muito bem. Obrigado por ajudar milhares de pessoas a cada vídeo lançado.
Responder
João Faro (3) (1)
30/03/2015
Muito bom!! vlw.
Responder