Gibt die Aktion an, die ausgeführt werden soll, wenn der Nutzer über das Layout wischt. Die Geschwindigkeit der Bewegungssequenz und die Bewegung der Zielansicht hängen von der Geschwindigkeit und Richtung des Wischs ab, vorbehaltlich der Limits, die Sie mit optionalen Parametern festlegen.
Für eine einzelne <Transition>
kann es mehrere <OnSwipe>
-Knoten geben, wobei jede <OnSwipe>
eine andere Wischrichtung und eine andere Aktion angibt, die ausgeführt werden soll, wenn der Nutzer wischt.
Syntax
<OnSwipe motion:touchAnchorId="@id/target_view" motion:touchAnchorSide="side" [ motion:dragDirection="direction" ] [ motion:dragScale="scale" ] [ motion:maxVelocity="maxVelocity" ] [ motion:maxAcceleration="maxAcceleration" ] />
Merkmale
motion:touchAnchorId
- Ansicht, die durch Wischen verschoben wird.
motion:touchAnchorSide
- Seite der Zielansicht, an der das Wischen verankert ist.
MotionLayout
hält einen konstanten Abstand zwischen dem Anker und dem Finger des Nutzers. Zulässige Werte sind"left"
,"right"
,"top"
und"bottom"
. motion:dragDirection
- Richtung der Wischbewegung des Nutzers. Wenn dieses Attribut festgelegt ist, gilt
<OnSwipe>
nur für das Wischen in die angegebene Richtung. Zulässige Werte sind"dragLeft"
,"dragRight"
,"dragUp"
und"dragDown"
. motion:dragScale
Steuert die Distanz, die sich die Ansicht relativ zur Länge des Wischens verschiebt. Der Standardwert ist 1. Dies bedeutet, dass die Ansicht so weit bewegt wird, wie das Wischen erfolgt. Wenn
dragScale
kleiner als 1 ist, bewegt sich die Ansicht um weniger als die Wischstrecke. Beispiel: EindragScale
von 0, 5 bedeutet, dass bei einer Wischbewegung um 4 cm die Zielansicht um 2 cm verschoben wird.Wenn
dragScale
größer als 1 ist, wird die Ansicht weiter verschoben als die Wischstrecke. Beispiel: EindragScale
von 1, 5 bedeutet, dass bei einer Wischbewegung um 4 cm die Zielansicht um 6 cm verschoben wird.motion:maxVelocity
Maximale Geschwindigkeit der Zielansicht.
motion:maxAcceleration
Maximale Beschleunigung der Zielansicht.