Spécifie l'emplacement et les attributs des vues au cours de la séquence de mouvement. Par défaut, le mouvement passe de l'état initial à l'état final.
En utilisant <KeyFrameSet>
, vous pouvez créer des mouvements plus complexes.
<KeyFrameSet>
contient des nœuds <KeyPosition>
ou <KeyAttribute>
. Ces nœuds spécifient la position ou les attributs d'une vue cible à un moment spécifique du mouvement.
MotionLayout
anime de manière fluide la vue du point de départ à chaque point intermédiaire, puis à la destination finale.
Supposons que l'état initial de la séquence de mouvement comporte une balle opaque dans le coin inférieur gauche de la vue et que l'état final rende la balle transparente dans le coin supérieur droit. Par défaut, MotionLayout
déplace la balle en douceur en diagonale, devenant progressivement transparente jusqu'à ce qu'elle disparaisse lorsqu'elle atteint sa destination. Vous pouvez modifier ce comportement à l'aide de <KeyFrameSet>
.
Par exemple, vous pouvez faire bouger la balle verticalement vers l'angle supérieur gauche tout en restant entièrement opaque, puis horizontalement vers l'angle supérieur droit tout en s'estompant. Pour ce faire, créez un <KeyFrameSet>
et ajoutez un <KeyPosition>
et un <KeyAttribute>
à l'intérieur. <KeyPosition>
spécifie l'emplacement intermédiaire de la balle, et <KeyAttribute>
spécifie que la balle reste opaque au milieu du mouvement.
Syntaxe
<KeyFrameSet> [ <KeyPosition/>... ] [ <KeyAttribute/>...] </KeyFrameSet>
Contenue dans
Contient
<KeyPosition>
- Spécifie la position d'une vue à un moment donné de la séquence de mouvement.
<KeyAttribute>
- Spécifie les attributs de vue à un moment spécifique de la séquence de mouvement.