Especifica la ubicación y los atributos de las vistas en el transcurso de la secuencia de movimiento. De forma predeterminada, el movimiento pasa del estado inicial al final.
Con <KeyFrameSet>
, puedes compilar movimientos más complejos.
El <KeyFrameSet>
contiene nodos <KeyPosition>
o <KeyAttribute>
. Estos nodos especifican la posición o los atributos de una vista de destino en un punto específico del movimiento.
MotionLayout
anima suavemente la vista desde el punto de partida hasta cada punto intermedio y, luego, hasta el destino final.
Supongamos que el estado inicial de la secuencia de movimiento tiene una bola opaca en la esquina inferior izquierda de la vista, y el estado final hace que la bola sea transparente en la esquina superior derecha. De forma predeterminada, el MotionLayout
mueve la bola suavemente en una línea diagonal y se vuelve gradualmente transparente hasta que desaparece cuando llega a su destino. Si usas <KeyFrameSet>
, puedes cambiar este comportamiento.
Por ejemplo, puedes hacer que la bola se mueva verticalmente a la esquina superior izquierda sin dejar de ser opaca y, luego, moverse horizontalmente a la esquina superior derecha mientras se desvanece. Para ello, crea un <KeyFrameSet>
y agrega un <KeyPosition>
y un <KeyAttribute>
dentro de él. <KeyPosition>
especifica la ubicación intermedia de la bola, y <KeyAttribute>
especifica que la bola permanece opaca en el punto medio del movimiento.
Sintaxis
<KeyFrameSet> [ <KeyPosition/>... ] [ <KeyAttribute/>...] </KeyFrameSet>
Dónde se incluye
Contenido
<KeyPosition>
- Especifica la posición de una vista en un momento específico durante la secuencia de movimiento.
<KeyAttribute>
- Especifica atributos de vista en un momento específico durante la secuencia de movimiento.