Especifica a ação a ser realizada quando o usuário desliza o dedo sobre o layout. A velocidade a sequência e o movimento da visualização segmentada são afetados pelo velocidade e direção do gesto de deslizar, sujeito aos limites definidos com parâmetros.
Pode haver vários nós <OnSwipe>
para um único <Transition>
, cada um
<OnSwipe>
especificando uma direção de deslizar e uma ação diferentes para
que serão realizadas quando o usuário deslizar a tela.
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 com a ação de deslizar.
motion:touchAnchorSide
- Lado da visualização de destino em que o gesto de deslizar está ancorado.
MotionLayout
mantém um distância constante entre a âncora e o dedo do usuário. Valores aceitáveis são"left"
,"right"
,"top"
e"bottom"
. motion:dragDirection
- Direção do movimento de deslizar do usuário. Se este atributo for definido, ele
O
<OnSwipe>
só se aplica a ações de deslizar na direção especificada. 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 ao comprimento da ação de deslizar. A 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 do que a distância de deslizar. Por exemplo, umdragScale
de 0,5 significa que, se a ação de deslizar se mover 4 cm, a a visualização do alvo se move 2 cm.Se
dragScale
for maior que 1, a visualização se moverá mais longe do que deslizar distância. Por exemplo, umdragScale
de 1,5 significa que, se a ação de deslizar se mover 4 cm, a visualização de destino se moverá 6 cm.motion:maxVelocity
Velocidade máxima da visualização de destino.
motion:maxAcceleration
Aceleração máxima da visualização de destino.