<PosizioneChiave>

Specifica la posizione di una visualizzazione in un momento specifico durante la sequenza di movimento. Questo attributo viene utilizzato per regolare il percorso predefinito del movimento.

Ad esempio, se un oggetto inizia nell'angolo in alto a sinistra e termina nel angolo in basso a destra, la sequenza di movimento predefinita sposta l'oggetto in diagonale verso il basso sullo schermo. Aggiungendo uno o più elementi <KeyPosition>, puoi deformare il del tuo percorso di apprendimento.

Sintassi

<KeyPosition
    motion:motionTarget="@id/targetPath"
    motion:framePosition="percentage"
    motion:keyPositionType="type"
    motion:percentX="xOffset"
  motion:percentY="yOffset"
/>

Attributi

motion:motionTarget
Visualizza il movimento di cui questa <KeyPosition> controlla il movimento.
motion:framePosition
Numero intero da 1 a 99 che specifica il punto della sequenza di movimento raggiunta dalla visualizzazione il punto specificato da questo <KeyPosition>. Ad esempio, se framePosition è 25, la visualizzazione raggiunge il punto specificato un quarto del movimento.
motion:percentX, motion:percentY
Specifica la posizione raggiunta dalla visualizzazione. keyPositionType specifica come vengono interpretati questi valori.
motion:keyPositionType
Specifica come vengono visualizzati i valori percentX e percentY viene interpretata correttamente. Le impostazioni possibili sono le seguenti:
    .
  • parentRelative
  • percentX e percentY sono specificati in relazione a la vista principale. X è l'asse orizzontale, che va da 0 per la sinistra. a 1 per il lato destro. Y è l'asse verticale, dove 0 corrisponde all'asse in alto e 1 è la parte inferiore.

    Ad esempio, se vuoi che la vista target raggiunga un punto a metà strada sul lato destro della vista principale, imposta percentX su 1 e da percentY a 0,5.

  • deltaRelative
  • percentX e percentY sono specificati in relazione a la distanza in cui si muove la vista lungo l'intera sequenza di movimenti. X è l'asse orizzontale e Y è l'asse verticale. In entrambi i formati, dei casi, 0 è la posizione iniziale della vista su quell'asse e 1 è la posizione finale posizione.

    Supponiamo che la vista target si sposti di 100 dp verso l'alto e di 100 dp verso destra, ma vuoi la vista per spostarsi verso il basso di 40 dp per il primo quarto del movimento e poi tornare indietro di un arco verso l'alto. Imposta framePosition su 25, keyPositionType su deltaRelative e percentY a -0, 4.

  • pathRelative
  • L'asse X è la direzione in cui si sposta la vista target lungo il percorso del percorso, dove 0 rappresenta la posizione iniziale e 1 la posizione finale. La L'asse Y è perpendicolare all'asse X, con i valori positivi a sinistra dell'asse percorso e i valori negativi a destra. Quindi la posizione iniziale della vista (0,0) e la posizione finale è (1,0). L'impostazione di un un valore percentY diverso da zero causa un arco della vista in una direzione o e l'altro.

    Supponiamo che la visualizzazione prenda metà della sequenza di movimento per coprire il 10% della la distanza totale, quindi accelera per coprire l'altro 90%. Imposta Da framePosition a 50, da keyPositionType a pathRelative e percentX a 0, 1. percentY rimane 0.

All'interno