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, seframePositionfor 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 keyPositionTypeespecifica como esses valores são interpretados.
- motion:keyPositionType
- Especifica como os valores percentXepercentYsão interpretado. Estas são as possíveis configurações:
- parentRelative
- percentXe- percentYsã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 - percentXcomo 1 e- percentYa 0,5.
- deltaRelative
- percentXe- percentYsã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ção- Suponha 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 - framePositioncomo 25 e- keyPositionTypecomo- deltaRelativee- percentYa -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 um- percentYdiferente 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 - framePositiona 50,- keyPositionTypea- pathRelativee- percentXa 0, 1.- percentYpermanece 0.
