Когда мое представление находится в нажатом состоянии, и местоположение события касания покидает представление, я хочу, чтобы представление получило уведомление. Я также хочу получить уведомление, когда сенсорное местоположение снова появится в моем представлении, пока оно еще находится в нажатом состоянии.Как определить, выпущен ли touch поверх пользовательского вида Android?
мой взгляд простирается View
, и в настоящее время реализует этот метод:
public boolean onTouchEvent(MotionEvent event) {
boolean result = gestureDetector.onTouchEvent(event);
if (!result) {
if (event.getAction() == MotionEvent.ACTION_UP) {
animate().scaleX(1).scaleY(1).setDuration(100).start();
performClick();
}
}
return result;
}
gestureDetector
ссылается на экземпляр этого класса:
class GestureListener extends GestureDetector.SimpleOnGestureListener {
public boolean onDown(MotionEvent e) {
animate().scaleX(0.9f).scaleY(0.9f).setDuration(100).start();
return true;
}
}
Это работает просто отлично, но когда прикосновение нажата и выпущенный за пределами моего представления, MotionEvent.ACTION_UP
все еще уволен (и, следовательно, performClick()
тоже), что не является поведением, которое я ищу. Я пробовал много других действий в MotionEvent
, но ничего не делает.
Любые идеи?
Таким образом, вы должны пойти, что «низкий уровень» за это? Свое странное, потому что вы думаете, что это будет очень важно. – bodyflex
После некоторого расследования я вполне уверен, что это правильный ответ. Спасибо! – bodyflex