2013-09-17 2 views
1

У меня есть вид (особенно для WebView). В этой точке зрения, у меня есть что-то вроде:Android - Можно ли предположить, что MotionEvent.ACTION_UP на 100% означает, что пользователь коснулся вида?

setOnTouchListener(new View.OnTouchListener() { 
    public boolean onTouch(View v, MotionEvent event) { 
     if (event.getAction() == MotionEvent.ACTION_UP) { 
      //user has clicked 
     } 
    } 
}); 

будет это 100%, всегда гарантирует мне, что пользователь постучал/нажал на взгляд? Если нет, то в каких случаях это не гарантирует мне щелчок?

Я хочу перехватить все пользовательские «клики». подумайте о «щелчке», как будто бы вы нажимаете кнопку, но только на мобильном устройстве. Представьте, что этот код называется 100 миллионов раз разными устройствами.

ответ

1

Я думаю, что хотя MotionEvent.ACTION_UP не всегда будет вызываться, когда касание заканчивается (как указано здесь: ACTION_UP not always called?), безусловно, можно предположить, что пользователь коснулся экрана. Вот как описывает это API, IMO:

Прессованный жест закончил движение содержит окончательный релиз местоположение, а также любые промежуточные точки с момента последнего вниз или события перемещения.

+0

AHHHHH я вижу. так что, в основном, допустим, у меня есть небольшое рекламное баннер (это веб-просмотр), и я коснусь первоначально, но потом вытащил из баннера мой палец ... нужно вызвать ACTION_CANCEL? –

+0

Я могу сказать, что это должно «быть». Это может быть не по понятным причинам, но, скорее всего, так и будет. Это обычная обработка для интерактивных элементов пользовательского интерфейса. Попробуйте щелкнуть по кнопке в Windows, например, и затем свернуть. Или ссылку в вашем браузере. – Prmths

2

MotionEvent.ACTION_UP - это когда вы поднимаете палец с экрана. Вы можете быть уверены, что пользователь коснется представления после вызова onTouch.

+0

Извините, я имел в виду «щелкнул». я неправильно набрал заголовок вопроса. будет ли этот ответ сохранен? на 100% я действительно имею в виду 100%. 100% всех типов устройств ... и т. Д. –

+1

@DavidT. Извините за столь поздний ответ. попробуйте ACTION_CANCEL – superuser

Смежные вопросы