Określa pozycję widoku w konkretnym momencie sekwencji animacji. Ten atrybut służy do dostosowywania domyślnej ścieżki animacji.
Jeśli na przykład obiekt zaczyna się w lewym górnym rogu i kończy na
w prawym dolnym rogu, domyślna sekwencja ruchu przesuwa obiekt ukośnie w dół
na ekranie. Dodając co najmniej 1 element <KeyPosition>
, możesz odkształcić
ścieżki konwersji.
Składnia
<KeyPosition motion:motionTarget="@id/targetPath" motion:framePosition="percentage" motion:keyPositionType="type" motion:percentX="xOffset" motion:percentY="yOffset" />
Atrybuty
motion:motionTarget
- Zobacz, czyje ruchy steruje ten element
<KeyPosition>
. motion:framePosition
- Liczba całkowita od 1 do 99, która określa, kiedy w sekwencji animacji następuje wyświetlenie
punkt określony przez ten element:
<KeyPosition>
. Na przykład, jeśliframePosition
to 25, widok dochodzi do określonego punktu co 1/4. motion:percentX
,motion:percentY
- Określ pozycję, na jaką znajduje się widok.
keyPositionType
określa sposób interpretacji tych wartości. motion:keyPositionType
- Określa, jak są wartości
percentX
ipercentY
interpretowany. Możliwe ustawienia: parentRelative
Wartości
percentX
ipercentY
są określone w odniesieniu do w widoku rodzica. X to oś pozioma (od 0 po lewej stronie). na 1 po prawej stronie. Y to oś pionowa, przy czym 0 to oś. 1 to góra, a 1 to dół.Jeśli na przykład chcesz, aby widok docelowy docierał do połowy po prawej stronie widoku rodzica, ustaw
percentX
na 1 ipercentY
do 0,5.deltaRelative
Wartości
percentX
ipercentY
są określone w odniesieniu do odległość, jaką pokonuje widok w trakcie całej sekwencji. X to oś pozioma, a Y – oś pionowa. W obu przypadków 0 oznacza początkową pozycję widoku na tej osi, a 1 – ostateczną pozycję widoku. pozycji.Załóżmy, że widok docelowy przesuwa się o 100 dp w górę i o 100 dp w prawo, ale chcesz obraz jest przesuwany w dół o 40 dp przez pierwszą ćwiartkę ruchu, a potem cofnij się w górę. Ustaw
framePosition
na 25,keyPositionType
nadeltaRelative
ipercentY
do -0, 4.pathRelative
Oś X to kierunek, w którym widok docelowy przesuwa się po ścieżki, gdzie 0 oznacza pozycję początkową, a 1 – pozycję końcową. Oś Y jest prostopadła do osi X, przy czym wartości dodatnie znajdują się po lewej stronie i wartości ujemne po prawej. Początkowe położenie widoku to
(0,0)
, a ostatnia pozycja to(1,0)
. Ustawienie niezerowapercentY
sprawia, że widok jest skierowany w jednym kierunku lub w inne.Załóżmy, że chcesz, aby połowa filmu obejmowała 10% pokonuj kolejne 90%, a potem przyspieszaj, aby pokonać pozostałe 90%. Ustaw
framePosition
do 50, odkeyPositionType
dopathRelative
ipercentX
do 0, 1.percentY
pozostaje 0.