Android - предоставление приоритета onTouch над onClick - PullRequest
3 голосов
/ 12 июля 2011

У меня есть действие, которое позволяет пользователям перемещаться между 3 различными видами. Каждый вид отображает список изображений. Изображения имеют события onClick, которые вызывают новое действие и делают изображения полноэкранными. Все это работает нормально, однако, если я попытаюсь провести пальцем между 3 различными видами, и мой палец проведет пальцем по изображению, это вызовет событие onClick и откроет изображение в полноэкранном режиме. Поэтому мне интересно, как я могу поставить приоритет на onTouch (для замены страницы / просмотра)?

(событие onTouch использует gestListener, а я использую методы onFling и flipper ..) (onClick - это просто imageView.setOnClickListener (new OnClickListener ())

Ответы [ 2 ]

3 голосов
/ 07 августа 2011

Если вы вернете true из onFling (…), оно должно поглотить событие и прекратить распространение.

0 голосов
/ 05 октября 2018

Вы можете найти здесь решение для делегирования касания от родительского к дочернему виду, если вам нужна дополнительная информация.

mDrawerLayout.post(() -> {
        Rect delegateArea = new Rect();

        mCalendarView.getHitRect(delegateArea);
        delegateArea.right += 100;
        delegateArea.bottom += 100;

        TouchDelegate touchDelegate = new TouchDelegate(delegateArea, mCalendarView);

        if (View.class.isInstance(mCalendarView.getParent())) {
            ((View) mCalendarView.getParent()).setTouchDelegate(touchDelegate);
        }
    });
...