Este documento contém exemplos de como usar o
MotionLayout.
Cada exemplo inclui um vídeo demonstrando o movimento, além do código correspondente para a cena e layouts.
Movimento básico
Este exemplo contém uma única visualização que você pode tocar e arrastar para mover horizontalmente.
- Confira o XML do layout.
- Confira o XML
MotionScene.
Atributo personalizado: backgroundColor
Este exemplo é semelhante ao Movimento básico. Além do movimento básico, a cor de fundo muda à medida que a visualização se move.
- Confira o XML de layout.
- Confira o XML
MotionScene.
ImageFilterView: transição de imagens
Este exemplo mostra como fazer a transição do valor de saturação de uma ImageFilterView.
- Confira o XML do layout.
- Confira o XML
MotionScene.
Posição de frames-chave
Este exemplo usa <KeyFrameSet> para alterar a posição Y da visualização durante o movimento.
- Confira o XML de layout.
- Confira o XML
MotionScene.
Interpolação de frames-chave
Este exemplo é criado na Posição do frame-chave, adicionando rotação e dimensionamento à transição da visualização.
- Confira o XML do layout.
- Confira o XML
MotionScene.
Ciclo de frames-chave
Este exemplo inclui elementos <KeyCycle> para adicionar movimento de onda à visualização.
- Confira o XML de layout.
- Confira o XML
MotionScene.
CoordinatorLayout (1/2)
Este exemplo adiciona um MotionLayout a um AppBarLayout já existente para adicionar movimento à barra de apps. Este exemplo é descrito em Introdução ao MotionLayout (parte III) (link em inglês).
- Confira o XML do layout.
- Confira o XML
MotionScene.
CoordinatorLayout (2/2)
Este exemplo adiciona um MotionLayout a um AppBarLayout já existente para adicionar movimento à barra de apps.
- Confira o XML de layout.
- Confira o XML
MotionScene.
DrawerLayout (1/2)
Este exemplo mostra como adicionar movimento a um DrawerLayout. Este exemplo é descrito em Introdução ao MotionLayout (parte III) (link em inglês).
- Confira o XML do layout.
- Confira o XML
MotionScene.
DrawerLayout (2/2)
Este exemplo mostra como adicionar movimento a um DrawerLayout.
- Confira o XML do layout.
- Confira o XML
MotionScenedo conteúdo principal. - Confira o XML
MotionScenedo menu.
Painel lateral
Este exemplo mostra como exibir um painel lateral ao arrastar a área de conteúdo principal para a direita.
- Confira o XML do layout.
- Confira o XML
MotionScene.
Paralaxe
Este exemplo demonstra um segundo plano paralaxe, em que diferentes camadas se movem em velocidades diferentes.
- Confira o XML do layout.
- Confira o XML
MotionScene.
ViewPager
Este exemplo mostra como adicionar movimento ao deslizar entre guias ViewPager.
Este exemplo é descrito em Introdução ao MotionLayout (parte III) (link em inglês).
- Confira o XML de layout.
- Confira o XML
MotionScene.
ViewPager: Lottie
Este exemplo mostra como adicionar movimento ao deslizar entre guias ViewPager.
- Confira o XML de layout.
- Confira o XML
MotionScene.
Movimento complexo (1/3)
Este exemplo combina elementos de exemplos anteriores para demonstrar movimentos complexos.
- Confira o XML do layout.
- Confira o XML
MotionScene.
Movimento complexo (2/3)
Este exemplo combina elementos de exemplos anteriores para demonstrar movimentos complexos.
- Confira o XML de layout.
- Confira o XML
MotionScene.
Movimento complexo (3/3)
Este exemplo combina elementos de exemplos anteriores para demonstrar movimentos complexos.
- Confira o XML de layout.
- Confira o XML
MotionScene.
Transição de fragmentos (1/2)
Este exemplo mostra como usar o MotionLayout para fazer a transição entre fragmentos.
- Confira o XML de layout.
- Confira o XML
MotionScene.
Transição de fragmentos (2/2)
Este exemplo mostra como usar o MotionLayout para fazer a transição entre fragmentos.
- Confira o XML de layout.
- Confira o XML
MotionScene.
Movimento parecido com o YouTube
Este exemplo demonstra a transição entre uma visualização compacta e uma experiência em tela cheia com conteúdo extra.
- Confira o XML de layout.
- Confira o XML
MotionScene.
KeyTrigger
Este exemplo demonstra como mostrar e ocultar um botão de ação flutuante quando a transição ultrapassa um limite de progresso.
- Confira o XML do layout.
- Confira o XML
MotionScene.
Vários estados
Este exemplo mostra como usar o estado para determinar qual movimento aplicar.
- Confira o XML de layout.
- Confira o XML
MotionScene.