Especifica a posição de uma visualização em um momento específico durante a sequência de movimento. Esse atributo é usado para ajustar o caminho padrão do movimento.
Por exemplo, se um objeto começa no canto superior esquerdo e termina no
no canto inferior direito, a sequência de movimento padrão move o objeto diagonalmente para baixo
na tela. Ao adicionar um ou mais elementos <KeyPosition>
, é possível deformar o
caminho.
Sintaxe
<KeyPosition motion:motionTarget="@id/targetPath" motion:framePosition="percentage" motion:keyPositionType="type" motion:percentX="xOffset" motion:percentY="yOffset" />
Atributos
motion:motionTarget
- Confira de quem o movimento é controlado por este
<KeyPosition>
. motion:framePosition
- Número inteiro de 1 a 99 especificando quando, na sequência de movimento, a visualização atinge
o ponto especificado por este
<KeyPosition>
. Por exemplo, seframePosition
for 25, a visualização atinge o ponto especificado. um quarto do caminho. motion:percentX
,motion:percentY
- Especificar a posição que a visualização atinge. O
keyPositionType
especifica como esses valores são interpretados. motion:keyPositionType
- Especifica como os valores
percentX
epercentY
são interpretado. Estas são as possíveis configurações: parentRelative
percentX
epercentY
são especificados em relação a visualização mãe. X é o eixo horizontal, variando de 0 para a esquerda um lado para o lado direito. Y é o eixo vertical, com 0 sendo o na parte superior e 1 na parte inferior.Por exemplo, se você quiser que a visualização de destino alcance um ponto no meio da lado direito da visualização mãe, defina
percentX
como 1 epercentY
a 0,5.deltaRelative
percentX
epercentY
são especificados em relação a distância que a visualização se move ao longo de toda a sequência de movimento. X é o eixo horizontal e Y é o eixo vertical. Em ambos casos, 0 é a posição inicial da visualização nesse eixo e 1 é a posição final posiçãoSuponha que a visualização de destino se mova 100 dp para cima e 100 dp para a direita, mas você a visualização se move 40 dp para baixo no primeiro quarto do movimento e depois faz um arco para trás. para cima. Defina
framePosition
como 25 ekeyPositionType
comodeltaRelative
epercentY
a -0, 4.pathRelative
O eixo X é a direção para onde a visualização de destino se move ao longo do caminho, sendo 0 a posição inicial e 1 a posição final. A O eixo Y é perpendicular ao eixo X, com valores positivos à esquerda do e valores negativos para a direita. Portanto, a posição inicial da visualização é
(0,0)
, e a posição final é(1,0)
. Definir um umpercentY
diferente de zero faz com que a visualização faça um arco para uma direção ou a entre si.Suponha que você queira que a visualização ocupe metade da sequência de movimento para cobrir 10% do a distância total e acelere para cobrir os outros 90%. Definir
framePosition
a 50,keyPositionType
apathRelative
epercentX
a 0, 1.percentY
permanece 0.