Especifica la acción que se debe realizar cuando el usuario desliza el dedo sobre el diseño. La velocidad de la secuencia de movimiento y el movimiento de la vista objetivo se ven afectados por la velocidad y la dirección del deslizamiento, sujeto a los límites que establezcas con parámetros.
Puede haber varios nodos <OnSwipe>
para una sola <Transition>
, y cada
<OnSwipe>
especifica una dirección de deslizamiento diferente y una acción distinta para
cuando el usuario hace ese deslizamiento.
Sintaxis
<OnSwipe motion:touchAnchorId="@id/target_view" motion:touchAnchorSide="side" [ motion:dragDirection="direction" ] [ motion:dragScale="scale" ] [ motion:maxVelocity="maxVelocity" ] [ motion:maxAcceleration="maxAcceleration" ] />
Atributos
motion:touchAnchorId
- Vista que se mueve cuando se desliza el dedo.
motion:touchAnchorSide
- Lado de la vista de destino al que está anclado el deslizamiento.
MotionLayout
conserva un y debe haber una distancia constante entre el ancla y el dedo del usuario. Valores aceptables son"left"
,"right"
,"top"
y"bottom"
. motion:dragDirection
- Dirección del deslizamiento del usuario. Si se establece este atributo, este
<OnSwipe>
solo se aplica a deslizamientos en la dirección especificada. Valores aceptables son"dragLeft"
,"dragRight"
,"dragUp"
y"dragDown"
. motion:dragScale
Controla la distancia que recorre la vista en relación con la duración del deslizamiento. El el valor predeterminado es 1, lo que indica que la vista se mueve tanto como el deslizamiento. Si
dragScale
es menor que 1, la vista se mueve menos que la distancia de deslizamiento. Por ejemplo, undragScale
de 0.5 significa que, si el deslizamiento se mueve 4 cm, la la vista objetivo se mueve 2 cm.Si
dragScale
es mayor que 1, la vista se mueve más lejos que el gesto de deslizar distancia. Por ejemplo, undragScale
de 1.5 significa que, si el deslizamiento se mueve a 4 cm, la vista objetivo se mueve 6 cm.motion:maxVelocity
Es la velocidad máxima de la vista de destino.
motion:maxAcceleration
Aceleración máxima de la vista de destino.