Um detector de gestos otimizado para reconhecer gestos de toque para o touchpad.
Há listeners de gestos discretos (por exemplo, GestureDetector.BaseListener, GestureDetector.FingerListener)
e listeners de gestos contínuos (por exemplo, GestureDetector.ScrollListener,
GestureDetector.OneFingerScrollListener, GestureDetector.TwoFingerScrollListener).
Para ver mais informações, consulte o guia do desenvolvedor Gestos de toque.
Uso geral
- Implemente as interfaces de listener desejadas e defina-as no
GestureDetector. - Modifique os callbacks de eventos de entrada, como
onGenericMotionEvent(MotionEvent)oudispatchGenericFocusedEvent(MotionEvent), e transmitaMotionEventao métodoonMotionEvent(MotionEvent)do detector de gestos para processar o evento. - Processe o evento de maneira adequada nos listeners do detector de gestos.
Observação: ao implementar os métodos
onXXXpara listeners, defina o valor de retorno comotruesomente se não quiser enviarMotionEventpara nenhuma outra entidade de detecção no pipeline de envio de entradas.
| Classes aninhadas | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Interface | GestureDetector.BaseListener | Recebe os resultados da detecção. | |||||||||
| Interface | GestureDetector.FingerListener | Esse listener informa quando a contagem de dedos detectada muda no touchpad. | |||||||||
| Interface | GestureDetector.OneFingerScrollListener | Esse listener recebe eventos contínuos de rolagem horizontal com um dedo. | |||||||||
| Interface | GestureDetector.ScrollListener | Esse listener recebe eventos de rolagem horizontal contínuos independentes da contagem de dedos. | |||||||||
| Interface | GestureDetector.TwoFingerScrollListener | Esse listener recebe eventos contínuos de rolagem horizontal com dois dedos. | |||||||||
| Construtores públicos | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
GestureDetector(contexto de contexto)
|
|||||||||||
| Métodos públicos | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Booleano estático | |||||||||||
| Booleano estático |
isForward(deltaX flutuante)
|
||||||||||
| boolean |
onMotionEvent(evento MotionEvent)
|
||||||||||
| GestureDetector |
setAlwaysConsumeEvents(booleano ativado)
|
||||||||||
| GestureDetector |
setBaseListener(listener GestureDetector.BaseListener)
|
||||||||||
| GestureDetector | |||||||||||
| GestureDetector | |||||||||||
| GestureDetector | |||||||||||
| GestureDetector | |||||||||||
| Métodos herdados | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Construtores públicos
Métodos públicos
public Static booleano isForward (gesto do Gesto)
Retornará true se o gesto fornecido corresponder ao movimento de avanço no touchpad.
Esse método só faz sentido para deslizes laterais e gera uma exceção se chamado em outros gestos.
public Static booleano isForward (deltaX flutuante)
Retorna true se o deslocamento especificado corresponder ao movimento para frente no touchpad.
public boolean onMotionEvent (evento MotionEvent)
Processa um evento de movimento, retornando true caso os eventos sejam sempre consumidos ou se um gesto for detectado.
Retorna
- reflete se o evento de toque é consumido
public GestureDetector setAlwaysConsumeEvents (boolean enabled)
Define se o detector de gestos precisa consumir eventos transmitidos para
onMotionEvent(MotionEvent), independentemente de terem sido realmente processados.
public GestureDetector setBaseListener (GestureDetector.BaseListener listener)
Define o listener de gestos básico.
public GestureDetector setFingerListener (ListenerGestureDetector.FingerListener)
Define o listener do dedo.
public GestureDetector setOneFingerScrollListener (listenente GestureDetector.OneFingerScrollListener)
Define o listener que detecta rolagem horizontal e com um dedo.
public GestureDetector setScrollListener (GestureDetector.ScrollListener do listener)
Define o listener que detecta a rolagem horizontal independente da contagem de dedos.
public GestureDetector setTwoFingerScrollListener (listenerGestureDetector.TwoFingerScrollListener)
Define o listener que detecta rolagem horizontal e com dois dedos.