Vejamos como é a implementação
de movimento instrutivo.
Neste exemplo, temos uma
imagem sem margens
e um conteúdo abaixo dela.
Há uma tensão aqui.
Queremos mostrar a imagem completa,
mas também indicar que
há mais texto disponível.
Podemos querer mostrar também
um pouco do conteúdo
imediatamente.
Podemos começar com
toda a imagem visível
e depois deslizar imediatamente
um pouco do texto para indicar
que há mais conteúdo.
Vejamos como implementar
esta ótima e simples forma
de movimento instrutivo.
Vamos começar com layout.
Nada sofisticado aqui, apenas o layout
da estrutura com uma imagem de altura fixa
e uma scroll view na frente dela.
O layout linear
na scroll view
conterá o texto e
um plano de fundo branco.
Daremos ao layout linear uma
pequena elevação para tornar claro
que é uma superfície distinta.
Na posição de rolagem padrão,
vê-se a imagem completa,
mas pouco conteúdo de texto.
Precisamos animar a
posição de rolagem
porque a tela abre-se primeiro
para a posição que mostra
mais do conteúdo do texto.
Aqui usamos um ObjectAnimator
para animar a propriedade scrollY
da scroll view.
Podemos usar o método smoothScrollTo
da scroll view,
mas isso nos dá mais controle
sobre a animação.
Começamos a animação dentro do
onEnterAnimationComplete
para garantir que
a transição de janela
termine primeiro, antes de começar
a animação.
Isto só está disponível no
Android 5.0 e posterior,
mas pode ser simulado
em versões anteriores
com um atraso de início.
Obtém-se uma visualização da
imagem
antes de iniciar a leitura do texto.
Rapidamente você percebe
que pode rolar para cima
e ver a imagem completa novamente
ou para baixo e ler o texto.