Compartilhar via


ViewGroup.OnInterceptTouchEvent(MotionEvent) Método

Definição

Implemente esse método para interceptar todos os eventos de movimento da tela sensível ao toque.

[Android.Runtime.Register("onInterceptTouchEvent", "(Landroid/view/MotionEvent;)Z", "GetOnInterceptTouchEvent_Landroid_view_MotionEvent_Handler")]
public virtual bool OnInterceptTouchEvent (Android.Views.MotionEvent? ev);
[<Android.Runtime.Register("onInterceptTouchEvent", "(Landroid/view/MotionEvent;)Z", "GetOnInterceptTouchEvent_Landroid_view_MotionEvent_Handler")>]
abstract member OnInterceptTouchEvent : Android.Views.MotionEvent -> bool
override this.OnInterceptTouchEvent : Android.Views.MotionEvent -> bool

Parâmetros

ev
MotionEvent

O evento de movimento sendo despachado para baixo na hierarquia.

Retornos

Retorne true para roubar eventos de movimento das crianças e envie-os para este ViewGroup por meio de onTouchEvent(). O alvo atual receberá um evento ACTION_CANCEL, e nenhuma outra mensagem será entregue aqui.

Atributos

Comentários

Implemente esse método para interceptar todos os eventos de movimento da tela sensível ao toque. Isso permite que você assista aos eventos à medida que eles são enviados para seus filhos e se aproprie do gesto atual a qualquer momento.

Usar essa função requer alguns cuidados, pois tem uma interação bastante complicada com View#onTouchEvent(MotionEvent) View.onTouchEvent(MotionEvent)o , e usá-lo requer a implementação desse método, bem como deste da maneira correta. Os eventos serão recebidos na seguinte ordem:

<ol><li> Você receberá o evento down aqui. <li> O evento down será manipulado por um filho desse grupo de exibição ou dado ao seu próprio método onTouchEvent() para manipular, isso significa que você deve implementar onTouchEvent() para retornar true, para que você continue a ver o restante do gesto (em vez de procurar um modo de exibição pai para manipulá-lo). Além disso, ao retornar true de onTouchEvent(), você não receberá nenhum evento seguinte em onInterceptTouchEvent() e todo o processamento de toque deve acontecer em onTouchEvent() como normal. <li> Enquanto você retornar false desta função, cada evento seguinte (até e incluindo o up final) será entregue primeiro aqui e depois para o onTouchEvent() do alvo. <li> Se você retornar true daqui, você não receberá nenhum dos seguintes eventos: a exibição de destino receberá o mesmo evento, mas com a ação MotionEvent#ACTION_CANCEL, e todos os outros eventos serão entregues ao seu método onTouchEvent() e não aparecerão mais aqui. </Ol>

Documentação Java para android.view.ViewGroup.onInterceptTouchEvent(android.view.MotionEvent).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a