Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Android, вызов onTouchListener только внутри view

#android #ontouchlistener


Имеется кнопка, с прикрепленным onTouchListener. Если я нажимаю кнопку и двигаю палец
за границы кнопки, то onTouchListener всё равно вызывается. Как можно поменять это
поведение, чтобы обработчик не вызывался за пределами View, к которому он прикреплен?

Сделал скриншот проблемы, которую пытаюсь решить. Когда я нажимаю палецем и двигаю
им к нижней части экрана, то после определенной черты при опускании второго пальца
координаты странным образом "прыгают", а мне нужна точная обработка касания в зеленых
границах, без мультитачей и выхода за зеленые границы


    


Ответы

Ответ 1



Вам надо переопределить onTouchEvent для корневого View следующим образом (тем самым вы будете игнорировать мультитач в пределах этого View): @Override public boolean onTouchEvent(MotionEvent event) { if(event.getPointerCount() > 1) //если определили второе и более касание, игнорируем его return true; else return super.onTouchEvent(event); }

Комментариев нет:

Отправить комментарий