Есть ViewPager c FragmentAdapter, на макете фрагмента HorizontalScrollView. Необходимо реализовать следующую вещь. При достижении конца контейнера scrollview необходимо без дополнительный действий продолжить листание уже viewPager. Сейчас я сделал следующее, при достижении конца скрола, scrollView перестает обрабатывать touchEvent, но на данном этапе все равно надо отпустить палец в конце контейнера и начать скролить еще раз, тогда начнет скролиться ViewPager
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
Log.d("scroll1", event.toString());
if (event.getHistorySize() == 0)
return super.dispatchTouchEvent(event);
float prevTouchX = event.getHistoricalX(event.getHistorySize() - 1);
float currentTouchX = event.getX();
if (currentTouchX < prevTouchX) {
Log.d("LEFT", event.getX() + " and " + event.getY());
}
if (currentTouchX > prevTouchX) {
Log.d("RIGHT", event.getX() + " and " + event.getY());
}
if (event.getAction() == MotionEvent.ACTION_MOVE && currentTouchX < prevTouchX && !canScrollHorizontally(1)) {
Log.d("scroll", "no");
return false;
} else {
Log.d("scroll", "yea");
return super.dispatchTouchEvent(event);
}
}
private ViewParent getMainParent() {
ViewParent currentView = this.getParent();
while (currentView != null) {
if (currentView instanceof ViewPager)
return currentView;
currentView = currentView.getParent();
}
return null;
}
Продвижение своими сайтами как стратегия роста и независимости