<SetDiFrame>
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Specifica la posizione e gli attributi delle viste durante il movimento
sequenza. Per impostazione predefinita, il movimento passa dallo stato iniziale a quello finale.
Con <KeyFrameSet>
, puoi creare movimenti più complessi.
<KeyFrameSet>
contiene
<KeyPosition>
oppure
<KeyAttribute>
nodi. Questi nodi specificano la posizione o gli attributi di una vista target
punto specifico del movimento.
MotionLayout
anima in modo uniforme la vista dal punto iniziale a ogni punto intermedio
e poi alla destinazione finale.
Supponiamo che lo stato iniziale della sequenza di movimento abbia una sfera opaca nella
angolo inferiore sinistro della vista e lo stato finale rende la palla trasparente
nell'angolo in alto a destra. Per impostazione predefinita, MotionLayout
muove la palla senza difficoltà
in linea diagonale, diventando gradualmente trasparente fino a quando scompare quando
raggiunge la sua destinazione. Se utilizzi <KeyFrameSet>
, puoi modificare questo comportamento.
Ad esempio, puoi far spostare la palla verticalmente nell'angolo in alto a sinistra
rimanendo completamente opaco, quindi spostalo orizzontalmente in alto a destra
in un angolo con una dissolvenza in uscita. Puoi farlo creando un <KeyFrameSet>
e
aggiungendo <KeyPosition>
e <KeyAttribute>
al suo interno. <KeyPosition>
specifica la posizione intermedia della palla, e <KeyAttribute>
specifica che la sfera rimane opaca nel punto centrale del movimento.
Sintassi
<KeyFrameSet>
[ <KeyPosition/>... ]
[ <KeyAttribute/>...]
</KeyFrameSet>
All'interno di
<Transition>
Contiene
<KeyPosition>
- Specifica la posizione di una visualizzazione in un momento specifico della sequenza di movimento.
<KeyAttribute>
- Specifica gli attributi di visualizzazione in un momento specifico della sequenza di movimento.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 UTC."],[],[],null,["# <KeyFrameSet>\n\nSpecifies location and attributes for views over the course of the motion\nsequence. By default, motion proceeds from the initial state to the end state.\nBy using `\u003cKeyFrameSet\u003e`, you can build more complex motions.\n\nThe `\u003cKeyFrameSet\u003e` contains\n[`\u003cKeyPosition\u003e`](/training/constraint-layout/motionlayout/ref/keyposition) or\n[`\u003cKeyAttribute\u003e`](/training/constraint-layout/motionlayout/ref/keyattribute)\nnodes. These nodes specify the position or attributes of a target view at a\nspecific point in the motion.\n[`MotionLayout`](/reference/androidx/constraintlayout/motion/widget/MotionLayout)\nsmoothly animates the view from the starting point to each intermediate point\nand then to the final destination.\n\nSuppose the initial state of the motion sequence has an opaque ball in the\nlower-left corner of the view, and the final state makes the ball transparent in\nthe upper-right corner. By default, the `MotionLayout` moves the ball smoothly\nin a diagonal line, gradually becoming transparent until it vanishes when it\nreaches its destination. By using `\u003cKeyFrameSet\u003e`, you can change this behavior.\nFor example, you can make the ball move vertically to the upper-left corner\nwhile remaining entirely opaque, then move horizontally to the upper-right\ncorner while fading out. You can do this by creating a `\u003cKeyFrameSet\u003e` and\nadding a `\u003cKeyPosition\u003e` and `\u003cKeyAttribute\u003e` inside it. The `\u003cKeyPosition\u003e`\nspecifies the intermediate location of the ball, and the `\u003cKeyAttribute\u003e`\nspecifies that the ball remains opaque at the midpoint of the motion.\n\nSyntax\n------\n\n```xml\n\u003cKeyFrameSet\u003e\n [ \u003cKeyPosition/\u003e... ]\n [ \u003cKeyAttribute/\u003e...]\n\u003c/KeyFrameSet\u003e\n```\n\nContained in\n------------\n\n[`\u003cTransition\u003e`](/training/constraint-layout/motionlayout/ref/transition)\n\nContains\n--------\n\n[`\u003cKeyPosition\u003e`](/training/constraint-layout/motionlayout/ref/keyposition)\n: Specifies a view's position at a specific moment during the motion sequence.\n\n[`\u003cKeyAttribute\u003e`](/training/constraint-layout/motionlayout/ref/keyattribute)\n: Specifies view attributes at a specific moment during the motion sequence."]]