Подтвердить что ты не робот

Обработка событий касания в ScrollView Android

Я хотел бы реализовать функцию drag-n-drop для Android 2.2. Я переопределяю onTouchListener для каждого моего элемента управления. Но все мои элементы управления находятся внутри ScrollView. Когда все элементы управления видны в ScrollView, тогда dra-n-drop работает нормально. Но когда не все элементы управления видны в screnn, и появляется прокрутка, я не могу использовать dra-n-drop. Все события поступают в ScrollView, и только прокрутка просматривает их. Контолы не получили сенсорных событий, и в результате я не могу перетащить элементы управления. Кто-нибудь знает, как решить эту проблему? Я полагаю, что scrollview должен начать самонастраивающееся событие, но затем он должен передать это событие касания к элементам управления детьми. Как мне это сделать? Или любые другие решения?

4b9b3361

Ответ 1

Используйте mScrollView.requestDisallowInterceptTouchEvent(true);, чтобы избежать использования ScrollView для обработки touchEvents. Кроме того, как Ридкулли указал на касание события onInterceptTouchEvent().

Ответ 2

Посмотрите на метод onInterceptTouchEvent(). Вам придется подкласс ScrollView и переопределить и настроить этот метод.