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: parentRelativepercentXepercentYsã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 epercentYa 0,5.deltaRelativepercentXepercentYsã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
framePositioncomo 25 ekeyPositionTypecomodeltaRelativeepercentYa -0, 4.pathRelativeO 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 umpercentYdiferente 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,keyPositionTypeapathRelativeepercentXa 0, 1.percentYpermanece 0.