<PositionClé>

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, si framePosition 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 et percentY sont est interprétée. Les paramètres possibles sont les suivants:
<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
    </ph>
  • parentRelative
  • percentX et percentY 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 et percentY à 0,5.

  • deltaRelative
  • percentX et percentY 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 et keyPositionType sur deltaRelative et percentY à -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éro percentY 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 et percentX à 0.1. percentY reste à 0.

Contenue dans