ViewGroup.OnInterceptTouchEvent(MotionEvent) Метод

Определение

Реализуйте этот метод для перехвата всех событий движения сенсорного экрана.

[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

Параметры

ev
MotionEvent

Событие движения, отправляемое вниз по иерархии.

Возвращаемое значение

Верните значение true, чтобы украсть события движения из дочерних элементов и отправить их в эту группу просмотра через onTouchEvent(). Текущий целевой объект получит событие ACTION_CANCEL, и дальнейшие сообщения не будут доставляться сюда.

Атрибуты

Комментарии

Реализуйте этот метод для перехвата всех событий движения сенсорного экрана. Это позволяет watch события по мере их отправки вашим детям, и взять на себя ответственность за текущий жест в любой момент.

Использование этой функции требует некоторой осторожности, так как она имеет довольно сложное взаимодействие с View#onTouchEvent(MotionEvent) View.onTouchEvent(MotionEvent), и ее использование требует правильной реализации этого метода, а также этого метода. События будут получены в следующем порядке:

<ol><li> Вы получите событие down здесь. <li> Событие down обрабатывается дочерним элементом этой группы представлений или собственным методом onTouchEvent(). Это означает, что необходимо реализовать onTouchEvent(), чтобы вернуть значение true, поэтому вы будете видеть остальную часть жеста (вместо того, чтобы искать родительское представление для его обработки). Кроме того, возвращая значение true из onTouchEvent(), вы не получите следующие события в onInterceptTouchEvent(), и вся обработка касания должна выполняться в onTouchEvent(), как обычно. <Li> До тех пор, пока вы возвращаете значение false из этой функции, каждое следующее событие (вплоть до окончательного up) будет доставлено сначала здесь, а затем в onTouchEvent() целевого объекта. <Li> Если вернуть значение true отсюда, вы не получите следующие события: целевое представление получит то же событие, но с действием MotionEvent#ACTION_CANCEL, а все дальнейшие события будут доставлены в метод onTouchEvent() и больше не будут отображаться здесь. </Пр>

Документация по Java для android.view.ViewGroup.onInterceptTouchEvent(android.view.MotionEvent).

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.

Применяется к