Spécifie l'action à effectuer lorsque l'utilisateur balaie la mise en page. La vitesse de la séquence de mouvement et le mouvement de la vue ciblée dépendent de la vitesse et de la direction du balayage, en fonction des limites que vous avez définies avec des paramètres facultatifs.
Il peut y avoir plusieurs nœuds <OnSwipe>
pour un même <Transition>
, chaque <OnSwipe>
spécifiant une direction de balayage différente et une action différente à effectuer lorsque l'utilisateur effectue ce balayage.
Syntaxe
<OnSwipe motion:touchAnchorId="@id/target_view" motion:touchAnchorSide="side" [ motion:dragDirection="direction" ] [ motion:dragScale="scale" ] [ motion:maxVelocity="maxVelocity" ] [ motion:maxAcceleration="maxAcceleration" ] />
Attributs
motion:touchAnchorId
- Vue déplacée par le balayage.
motion:touchAnchorSide
- Côté de la vue cible sur laquelle le balayage est ancré.
MotionLayout
maintient une distance constante entre l'ancre et le doigt de l'utilisateur. Les valeurs acceptées sont"left"
,"right"
,"top"
et"bottom"
. motion:dragDirection
- Sens du mouvement de balayage de l'utilisateur. Si cet attribut est défini, ce
<OnSwipe>
ne s'applique qu'aux balayages dans la direction spécifiée. Les valeurs acceptées sont"dragLeft"
,"dragRight"
,"dragUp"
et"dragDown"
. motion:dragScale
Permet de contrôler la distance de déplacement de la vue par rapport à la durée du balayage. La valeur par défaut est 1, ce qui indique que la vue se déplace aussi loin que le balayage. Si
dragScale
est inférieur à 1, la vue se déplace moins que la distance de balayage. Par exemple, unedragScale
de 0,5 signifie que si le balayage se déplace de 4 cm, la vue cible se déplace de 2 cm.Si
dragScale
est supérieur à 1, la vue se déplace plus loin que la distance de balayage. Par exemple, unedragScale
de 1,5 signifie que si le balayage se déplace de 4 cm, la vue cible se déplace de 6 cm.motion:maxVelocity
Vitesse maximale de la vue cible.
motion:maxAcceleration
Accélération maximale de la vue cible.