@nkizza

Как распознавать жест зума и другие жесты на одном и том же View в Android?

У меня есть TextView, обернутый в ScrollView. На этот TextView я хочу повесить несколько детекторов жестов, чтобы распознавать разные жесты именно на этом View. В частности, мне нужен ScaleGestureDetector (распознает жест зума) и GestureDetector (распознает тап, двойной тап, длинное нажатие и другие). Listener к тому и другому детектору сделан, я вешаю на View OnTouchListener:
tw.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View view, MotionEvent motionEvent) {
        if (!gestureDetector.onTouchEvent(motionEvent)) {
            scaleGestureDetector.onTouchEvent(motionEvent);
        };
        return true;
    }
});

Жесты не распознаются (вернее, ни одна процедура в Listener не отрабатывает, несмотря на то, что листенеры для детекторов назначены согласно инструкции). Если вешать детекторы по отдельности, то все работает:
tw.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View view, MotionEvent motionEvent) {
        scaleGestureDetector.onTouchEvent(motionEvent);
        return false;
    }
});


Прошу помочь примером, как вообще это делается? Нужно ли в данной ситуации использовать несколько детекторов или что-то мною упущено?
Большое спасибо.
  • Вопрос задан
  • 2507 просмотров
Решения вопроса 1
@worlxxaker
Просто мировой хакер, и все.
я бы попробовал вот здесь почитать habrahabr.ru/post/120931
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы