делаю просмотр изображений, уперся в проблему
ImageView помещаю в ViewPager, загружаю изображение в ImageView и изменяю его с помощью Matrix. Реализую возможность таскания изображения внутри ImageView (когда увеличено и не влезает в экран). Но при горизонтальном перетаскивании срабатывает прокрутка ViewPager'a (swipe).
Блин попробую объяснить проблему как смогу
Я пробовал решить эту проблему так: получаю события ACTION_DOWN и ACTION_MOVE в обработчиках onTouch() для ImageView и onTouchEvent() для ViewPager'a. Идея такая - если край изображения достиг края экрана то ACTION_MOVE обрабатывает ViewPager и перелистывает элемент, иначе обрабатывает ImageView и перемещает изображение. Но нужно учитывать в какую сторону смещен палец ведь если изображение уперлось в правый край экрана то дальнейшее смещение пальца влево должен обрабатывать ViewPager, а смещение вправо ImageView пока изображение не упрется в левый край экрана. Но понять в какую сторону смещается палец можно только из события ACTION_MOVE, при этом как я понял события ACTION_MOVE передаются только тому кто обработал ACTION_DOWN! и тут я в тупике как понять кому обрабатывать ACTION_DOWN - ImageView или ViewPager'у? или можно ли сгенерировать в коде самостоятельно событие ACTION_DOWN (при обработке ACTION_MOVE например в onInterceptTouchEvent) и не нарушит ли это работу приложения?
Может я вообще не в ту сторону копаю, прошу совета.
как таскать ImageView внутри ViewPager (делаю галлерею)
Re: как таскать ImageView внутри ViewPager (делаю галлерею)
если кому интересно решил проблему
создаю свой класс MyViewPager extends ViewPager, в нем перехватчик onInterceptTouchEvent всегда возвращает True, т.е. события не будут переданы вложенным элементам (страницам ViewPager). Все события обрабатываю в onTouchEvent класса, просто получаю текущую страницу и таскаю в ней рисунок или перелистываю страницу когда нужно, все работает.
создаю свой класс MyViewPager extends ViewPager, в нем перехватчик onInterceptTouchEvent всегда возвращает True, т.е. события не будут переданы вложенным элементам (страницам ViewPager). Все события обрабатываю в onTouchEvent класса, просто получаю текущую страницу и таскаю в ней рисунок или перелистываю страницу когда нужно, все работает.