<KeyPosition>

Gibt die Position einer Ansicht zu einem bestimmten Zeitpunkt während der Bewegungssequenz an. Mit diesem Attribut wird der Standardpfad der Bewegung angepasst.

Wenn ein Objekt beispielsweise in der oberen linken Ecke beginnt und in der unteren rechten Ecke endet, wird es durch die Standardbewegungssequenz diagonal auf dem Bildschirm nach unten verschoben. Durch Hinzufügen eines oder mehrerer <KeyPosition>-Elemente können Sie den Pfad deformieren.

Syntax

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

Merkmale

motion:motionTarget
Ansicht, deren Bewegung von diesem <KeyPosition> gesteuert wird.
motion:framePosition
Ganzzahl von 1 bis 99, die angibt, wann die Ansicht in der Bewegungssequenz den in diesem <KeyPosition> angegebenen Punkt erreicht. Wenn framePosition beispielsweise 25 ist, erreicht die Ansicht den angegebenen Punkt ein Viertel der Strecke durch die Bewegung.
motion:percentX, motion:percentY
Geben Sie die Position an, die die Ansicht erreichen soll. Das Attribut keyPositionType gibt an, wie diese Werte interpretiert werden.
motion:keyPositionType
Gibt an, wie die Werte percentX und percentY interpretiert werden. Folgende Einstellungen sind möglich:
  • parentRelative
  • percentX und percentY werden relativ zur übergeordneten Ansicht angegeben. X ist die horizontale Achse und reicht von 0 für die linke bis 1 für die rechte Seite. Y ist die vertikale Achse, wobei 0 oben und 1 die untere Achse ist.

    Wenn die Zielansicht beispielsweise einen Punkt in der Mitte der rechten Seite der übergeordneten Ansicht erreichen soll, legen Sie percentX auf „1“ und percentY auf „0, 5“ fest.

  • deltaRelative
  • percentX und percentY werden relativ zur Entfernung angegeben, die die Ansicht über die gesamte Bewegungssequenz verschiebt. X ist die horizontale Achse und Y die vertikale Achse. In beiden Fällen ist 0 die Startposition der Ansicht auf dieser Achse und 1 die Endposition.

    Angenommen, die Zielansicht verschiebt sich 100 dp nach oben und 100 dp nach rechts, aber Sie möchten, dass die Ansicht für das erste Viertel der Bewegung um 40 dp nach unten und dann wieder nach oben bewegt wird. Setzen Sie framePosition auf 25, keyPositionType auf deltaRelative und percentY auf -0, 4.

  • pathRelative
  • Die X-Achse gibt die Richtung an, in die sich die Zielansicht im Verlauf des Pfads bewegt, wobei 0 die Startposition und 1 die Endposition ist. Die Y-Achse ist senkrecht zur X-Achse, mit positiven Werten links vom Pfad und negativen Werten rechts vom Pfad. Die Anfangsposition der Ansicht ist also (0,0) und die endgültige Position (1,0). Wenn Sie einen percentY ungleich null festlegen, führt die Ansicht zu einem Bogen in die eine oder andere Richtung.

    Angenommen, Sie möchten, dass die Hälfte der Bewegungssequenz 10% der Gesamtentfernung einnimmt und dann mit höherer Geschwindigkeit die anderen 90 % abdeckt. Legen Sie framePosition auf 50, keyPositionType auf pathRelative und percentX auf 0, 1 fest. percentY bleibt 0.

Enthalten in