Я хотел бы реализовать функцию drag-n-drop для Android 2.2. Я переопределяю onTouchListener для каждого моего элемента управления. Но все мои элементы управления находятся внутри ScrollView. Когда все элементы управления видны в ScrollView, тогда dra-n-drop работает нормально. Но когда не все элементы управления видны в screnn, и появляется прокрутка, я не могу использовать dra-n-drop. Все события поступают в ScrollView, и только прокрутка просматривает их. Контолы не получили сенсорных событий, и в результате я не могу перетащить элементы управления. Кто-нибудь знает, как решить эту проблему? Я полагаю, что scrollview должен начать самонастраивающееся событие, но затем он должен передать это событие касания к элементам управления детьми. Как мне это сделать? Или любые другие решения?
Обработка событий касания в ScrollView Android
Ответ 1
Используйте mScrollView.requestDisallowInterceptTouchEvent(true);
, чтобы избежать использования ScrollView для обработки touchEvents. Кроме того, как Ридкулли указал на касание события onInterceptTouchEvent()
.
Ответ 2
Посмотрите на метод onInterceptTouchEvent(). Вам придется подкласс ScrollView и переопределить и настроить этот метод.