<Pozycja klucza>

Określa pozycję widoku w określonym momencie sekwencji ruchu. Ten atrybut służy do dostosowywania domyślnej ścieżki ruchu.

Jeśli na przykład obiekt zaczyna się w lewym górnym rogu, a kończy w prawym dolnym rogu, domyślna sekwencja ruchu przesuwa go po przekątnej w dół ekranu. Dodając co najmniej 1 element <KeyPosition>, możesz zniekształcić ścieżkę.

Składnia

<KeyPosition
    motion:motionTarget="@id/targetPath"
    motion:framePosition="percentage"
    motion:keyPositionType="type"
    motion:percentX="xOffset"
  motion:percentY="yOffset"
/>

Atrybuty

motion:motionTarget
Wyświetl, którego ruchem steruje to urządzenie <KeyPosition>.
motion:framePosition
Liczba całkowita od 1 do 99, która określa, w którym momencie sekwencji ruchu widok dojdzie do punktu określonego w elemencie <KeyPosition>. Jeśli np. wartość framePosition ma wartość 25, widok osiąga określoną czwartą długości ruchu.
motion:percentX, motion:percentY
Określ pozycję, do której ma docierać dany widok. Atrybut keyPositionType określa sposób interpretacji tych wartości.
motion:keyPositionType
Określa sposób interpretacji wartości percentX i percentY. Dostępne ustawienia to:
  • parentRelative
  • Dane percentX i percentY są określone względem widoku nadrzędnego. X to oś pozioma z zakresu od 0 dla lewej strony do 1 dla prawej strony. Y to oś pionowa, gdzie 0 to góra, a 1 – dolna.

    Jeśli np.chcesz, by widok docelowy znajdował się w połowie prawej strony widoku nadrzędnego, ustaw dla percentX wartość 1 i percentY na 0,5.

  • deltaRelative
  • Parametry percentX i percentY są ustawiane względem odległości, jaką porusza widok w trakcie całej sekwencji ruchu. X jest osią poziomą, a Y – pionową. W obu przypadkach 0 to pozycja początkowa widoku na tej osi, a 1 – pozycja końcowa.

    Załóżmy, że widok docelowy przesuwa się o 100 dp w górę i o 100 dp w prawo, ale chcesz, aby widok przesuwał się w dół o 40 dp w pierwszej ćwiartce ruchu, a następnie do tyłu. Ustaw framePosition na 25, keyPositionType na deltaRelative, a percentY na -0,4.

  • pathRelative
  • Oś X to kierunek, w którym przesuwa się widok docelowy w trakcie ścieżki, gdzie 0 to pozycja początkowa, a 1 – pozycja końcowa. Oś Y jest prostopadła do osi X. Wartości dodatnie po lewej stronie ścieżki, a ujemne po prawej. Początkowa pozycja widoku to (0,0), a pozycja końcowa – (1,0). Jeśli zasada percentY ma wartość inną niż 0, widok zakrzywia się w jednym lub drugim kierunku.

    Załóżmy, że chcesz, by połowa sekwencji ruchu pokonała 10% całkowitej odległości, a następnie przyspieszysz, aby pokryć pozostałe 90%. Ustaw framePosition na 50, keyPositionType na pathRelative, a percentX na 0,1. percentY pozostaje 0.

Zawarte w