Spécifie la position d'une vue à un moment précis de la séquence de mouvement. Cet attribut permet d'ajuster la trajectoire par défaut du mouvement.
Par exemple, si un objet commence dans l'angle supérieur gauche et se termine au
coin inférieur droit, la séquence de mouvement par défaut déplace l'objet en diagonale vers le bas
l'écran. En ajoutant un ou plusieurs éléments <KeyPosition>
, vous pouvez déformer le
chemin d'accès.
Syntaxe
<KeyPosition motion:motionTarget="@id/targetPath" motion:framePosition="percentage" motion:keyPositionType="type" motion:percentX="xOffset" motion:percentY="yOffset" />
Attributs
motion:motionTarget
- Vue dont le mouvement est contrôlé par ce
<KeyPosition>
. motion:framePosition
- Entier compris entre 1 et 99 indiquant à quel moment la vue atteint dans la séquence de mouvement
au point spécifié par
<KeyPosition>
. Par exemple, siframePosition
est défini sur 25, la vue atteint le point spécifié pendant un quart de la distance parcourue. motion:percentX
,motion:percentY
- Spécifie la position de la vue.
keyPositionType
spécifie la manière dont ces valeurs sont interprétées. motion:keyPositionType
- Spécifie la façon dont les valeurs
percentX
etpercentY
sont est interprétée. Les paramètres possibles sont les suivants:
<ph type="x-smartling-placeholder"> parentRelative
percentX
etpercentY
sont spécifiés par rapport à la vue parent. X correspond à l'axe horizontal, et il va de 0 à gauche. à 1 pour le côté droit. Y correspond à l'axe vertical, 0 étant l'axe vertical. en haut et 1 en bas.Par exemple, si vous souhaitez que la vue cible atteigne un point à mi-chemin à droite de la vue parent, définissez
percentX
sur 1 etpercentY
à 0,5.deltaRelative
percentX
etpercentY
sont spécifiés par rapport à la distance parcourue par la vue au cours de toute la séquence de mouvement. X est l'axe horizontal et Y l'axe vertical. Dans les deux 0 correspond à la position de départ de la vue sur cet axe et 1 à la position finale la position de votre annonce.Supposons que la vue cible se déplace de 100 dp vers le haut et de 100 dp vers la droite, mais que vous voulez vers le bas de 40 dp pendant le premier quart du mouvement, puis revenir en arrière vers le haut. Définissez
framePosition
sur 25 etkeyPositionType
surdeltaRelative
etpercentY
à -0, 4.pathRelative
L'axe X correspond à la direction dans laquelle la vue cible se déplace au cours de la où 0 correspond à la position de départ et 1 à la position finale. La L'axe Y est perpendiculaire à l'axe X, avec des valeurs positives à gauche du le chemin d'accès et les valeurs négatives à droite. La position initiale de la vue est
(0,0)
et la position finale est(1,0)
. Définir un une valeur différente de zéropercentY
entraîne la création d'un arc dans une direction. autre.Supposons que vous souhaitiez que la vue occupe la moitié de la séquence de mouvement pour couvrir 10 % la distance totale, puis accélérez pour couvrir les 90 % restants. Définir
framePosition
à 50,keyPositionType
àpathRelative
etpercentX
à 0.1.percentY
reste à 0.
- </ph>
<ph type="x-smartling-placeholder">
- </ph>