Especifica a ação a ser realizada quando o usuário desliza o dedo sobre o layout. A velocidade da sequência de movimento e o movimento da visualização segmentada são afetados pela velocidade e direção do deslizamento, de acordo com os limites definidos com parâmetros opcionais.
Pode haver vários nós <OnSwipe>
para uma única <Transition>
, com cada
<OnSwipe>
especificando uma direção de deslize diferente e uma ação diferente a
executar quando o usuário deslizar.
Sintaxe
<OnSwipe motion:touchAnchorId="@id/target_view" motion:touchAnchorSide="side" [ motion:dragDirection="direction" ] [ motion:dragScale="scale" ] [ motion:maxVelocity="maxVelocity" ] [ motion:maxAcceleration="maxAcceleration" ] />
Atributos
motion:touchAnchorId
- Visualização que está sendo movida ao deslizar.
motion:touchAnchorSide
- Lado da visualização de destino em que o gesto de deslizar está fixado.
MotionLayout
mantém uma distância constante entre a âncora e o dedo do usuário. Os valores aceitáveis são"left"
,"right"
,"top"
e"bottom"
. motion:dragDirection
- Direção do movimento de deslizar do usuário. Se o atributo for definido, esse
<OnSwipe>
só vai ser aplicado a ações de deslizar na direção especificada. Os valores aceitáveis são"dragLeft"
,"dragRight"
,"dragUp"
e"dragDown"
. motion:dragScale
Controla a distância que a visualização se move em relação à duração da ação de deslizar. O valor padrão é 1, indicando que a visualização se move tanto quanto a ação de deslizar. Se
dragScale
for menor que 1, a visualização se moverá menos que a distância do deslizamento. Por exemplo, umdragScale
de 0,5 significa que, se a ação de deslizar se mover 4 cm, a visualização de destino se moverá 2 cm.Se
dragScale
for maior que 1, a visualização se moverá mais longe do que a distância deslizada. Por exemplo, umdragScale
de 1,5 significa que, se a ação de deslizar se mover 4 cm, a visualização de destino vai se mover 6 cm.motion:maxVelocity
Velocidade máxima da visualização desejada.
motion:maxAcceleration
Aceleração máxima da visualização de destino.