Utilizando Transitions, Material Design Android - Parte 10

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 /Utilizando Transitions, Material Design Android - Parte 10

Utilizando Transitions, Material Design Android - Parte 10

Vinícius Thiengo
(3970) (13) (1) (2)
Go-ahead
"Sempre procure algo que possa ser aprimorado. Nunca, jamais, conforme-se com o lugar onde está. A maneira como você atinge seus objetivos é sempre experimentar, até que consiga perceber se atingiu um ponto mais alto."
Jeff Sutherland
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
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 10 da série Material Design no Android apresento a Framework Transition que foi inserida na API 19 (KitKat) do Android.

Simples de utilizar e abstraindo muito do trabalho pesado que o programador deveria fazer, a Framework Transition nos permite utilizar três caminhos distintos para transições em nossas APPs Android:

1 - De Activity / Fragment para Activity / Fragment, sem elementos compartilhados;

2 - De Activity / Fragment para Activity / Fragment, com elementos compartilhados;

3 - Dentro da mesma entidade (Activity / Fragment), porém com o conteúdo recebendo a animação de um ou mais transitions (TransitionManager definido explicitamente no código);

Essa mudança de entidade ou de conteúdo é conhecida na codificação como mudança de cenário (scene). Com a leitura da documentação da classe TransitionManager no site do Android podemos concluir que a mudança de propriedade de views sem a mudança de Activity / Fragment também é considerada uma mudança de scene.

A Transition (classes que herdam dela) têm duas principais responsabilidades: 1ª) saber todas as propriedades de ínicio e fim de animação das views que serão animadas; 2ª) utilizar essas propriedades para montar a anmação que será utilizada na transição de cenários. O TransitionManager controla (ou administra) um conjunto de transições, porém como comentado no vídeo, não cheguei a informação de que essa entidade também executa no background quando estamos utilizando setSharedElement*() e sia, se souber, sinta-se livre para compartilhar nos comentários.

No vídeo utilizei as implementações de transições nativas do Android (Explode, Slide, Fade, ChangeBounds, ChangeScroll). Note que apesar da introdução da framework de transição na API 19 e de algumas libs de suporte de transitions para APIs anteriores, ficamos apenas com a implementação a partir da API 21, pois alguns dos métodos importantes de transição foram inseridos somente a partir da API 21 e as libs que foram encontradas para suporte a transitions em APIs abaixo da 21 deixaram a desejar devido a não implementação de transitions entre Activities e Fragments. Então é isso, sem mais delongas vou deixá-lo assistir ao vídeo.

Obs. : fique atento quanto a implementação de transitions com shared elements (elementos compartilhados), pois essa é a parte interessante dessa framework.

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

Segue link para assistir a todos os vídeos da série sobre Material Design no Android:

YouTube PlayList: Material Design

Segue links apresentados no vídeo:

Página de transitions no guideline do Material Design Android

Área de implementação de transitions no Android Material Design

Post 1 do Blog Android Design Pattners de Alex Lockwood

Página de explicação de como ocorre as transitions no Android, no GitHub

Página com GIFs animados de transitions no Android (bom para ver algumas possibilidades), no GitHub

Post do Blog de Lucas Rocha falando sobre como funciona a Transition Framework no Android

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

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

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

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

Para fechar, assista aos vídeos do SlideNerd sobre Transitions no Android:

SlideNerd Transitions

Vlw

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

Relacionado

FloatingActionButton Com Três Diferentes Libs, Material Design Android - Parte 6FloatingActionButton Com Três Diferentes Libs, Material Design Android - Parte 6Android
Material Dialog, Correção Bug StatusBar e Ações nos Fragments. Material Design Android - Parte 7Material Dialog, Correção Bug StatusBar e Ações nos Fragments. Material Design Android - Parte 7Android
Sliding Tabs Toolbar, Material Design Android - Parte 8Sliding Tabs Toolbar, Material Design Android - Parte 8Android
SwipeRefreshLayout e Snackbar, Material Design Android - Parte 9SwipeRefreshLayout e Snackbar, Material Design Android - Parte 9Android

Compartilhar

Comentários Facebook (2)

Comentários Blog (11)

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...
Aurimar (1) (0)
16/05/2017
Fale Thiengo. Estou com um probleminha em um aplicativo que estou desenvolvendo. As transições estão funcionando, mas ao retornar para a Main Activity é exibido o topo da lista, ou seja, ele não consegue retornar para o item que foi clicado. Gostaria que tu me qual vídeo é tratado sobre isso para que eu consiga implementar essa parte. Aproveitar a oportunidade para lhe parabenizar pelos vídeos, teu canal é uma fonte de conhecimento riquíssima. Grande abraço.
Responder
Vinícius Thiengo (0) (0)
24/05/2017
Aurimar, tudo bem?

Está utilizando o RecyclerView ou o ListView?

Para ambos os casos você pode utilizar o onSaveInstanceState() e então salvar a posição, ou do item clicado ou do item de topo, e assim, na volta a atividade, mais precisamente no método onCreate(), capturar a posição do saveInstanceState e utilizar:

- No RecyclerView o método scrollBy();
- No ListView o método scrollToPosition();

Caso não conheça o onSaveInstanceState(), dê uma olhada nos conteúdos dos links a seguir:

http://www.thiengo.com.br/otimizando-sua-app-android-com-onsaveinstancestate
http://www.thiengo.com.br/onsaveinstancestate-bitmap-e-serializable-no-android-correcao

Apesar de em um deles eu ter utilizado a Interface Serializable, hoje trabalho somente com o Parcelable, pois ele é mais eficiente: http://www.thiengo.com.br/parcelable-no-android-entendendo-e-utilizando

Há outras técnicas. Para o RecyclerView tem as discutidas no link a seguir: https://stackoverflow.com/questions/35054974/how-to-retain-the-scrolled-position-of-a-recycler-view-on-back-press-from-anothe

Para o ListView: https://stackoverflow.com/questions/3014089/maintain-save-restore-scroll-position-when-returning-to-a-listview

Abraço.
Responder
charllos (1) (0)
19/06/2016
como faça para abri o projeto no meu android
Responder
Vinícius Thiengo (0) (0)
25/06/2016
Fala Charllos, blz?
Rode esse projeto no AndroidStudio (https://github.com/viniciusthiengo ). Depois o execute no emulador do AS ou em seu device real. Abraço
Responder
VICTOR (1) (0)
02/04/2016
Olá Thiengo,
acompanho seu blog e seus videos são ÓTIMOS, já me ajudaram muito no aprendizado para Android.. No vídeo acima você fala que ira fazer, em outro vídeo, a transition do floatingActionButton conforme uma pagina com GIFs animados.
Procurei nos seus videos e não achei nada relativo a isso..
Gostaria de saber como fazer isto.
Responder
Vinícius Thiengo (0) (0)
02/04/2016
Fala Victor, blz?
Acabou que não fiz esse vídeo, o que recomendo é utilizar algumas das libraries de FAB dispostas tb aqui (https://android-arsenal.com/search?q=fab ) para essa animação que precisa. Abraço
Responder
17/09/2015
Hi
in project, you use as string[] descrption = new string []{"", "", ""};
How i use text file stored in raw folder instead input direct test into new string []{"","",""{}; ?
Responder
Vinícius Thiengo (0) (0)
18/09/2015
Hey Navid, what's up?
Actually you can just open a text file from /raw folder doing something like this (http://stackoverflow.com/a/16741466/2578331 ). After that you can try to use that content inside your own array or another data structure. Have a good one.
Responder
05/08/2015
Muito boa suas aulas!!!Valeu hein!!! Tô desenvolvendo um app p meu site com Volley e ImageLoader a apartir de suas aulas!!!

http://gamesnews.site11.com/games/news/artigo/atualiza-o-app-do-site-vers-o-1-0-5
Responder
JONATAS (2) (0)
01/06/2015
boa tarde agradeço pelas dicas de videos tenho aprendido muito gostaria de criar um app parecido com essa imagem
https://drive.google.com/file/d/0B8lf3-ztPxqZbjVrOXhHMExrbzA/view?usp=sharing
poderia me passar alguma dica
Responder
Vinícius Thiengo (1) (0)
02/06/2015
Fala Jonatas, blz?
Pela imagem o que tiro é q vc terá mt RadioButton e ImageView, porém monte no padrão de layout do Material Design no Android (http://www.google.com/design/spec/material-design/introduction.html ). Abraço
Responder