Проблема с Android с внедрением flings в NestedScrollView

У меня проблема с NestedScrollView . В моем примере использования используется 2 NestedScrollView , родительский и дочерний. Я переопределил метод onNestedPreScroll родителя, чтобы иногда использовать пиксели прокрутки перед дочерним:

 @Override public void onNestedPreScroll(View target, int dx, int dy, int[] consumed) { if (dy > 0 && getScrollY() < getScrollRange()) { int oldScrollY = getScrollY(); scrollBy(0, dy); consumed[1] = getScrollY() - oldScrollY; } } 

Я также переопределил родительский onNestedPreFling чтобы использовать onNestedPreFling перед ребенком:

 @Override public boolean onNestedPreFling(View target, float velocityX, float velocityY) { if (velocityY > 0 && getScrollY() < getScrollRange()) { fling((int) velocityY); return true; } return false; } 

Тем не менее, я заметил, что когда родитель потребляет всю прокрутку в onNestedPreScroll , родительский onNestedPreFling не вызывается.

Из моего исследования выясняется, что если родитель потребляет весь свиток, ребенок реагирует так, как будто произошло событие deltaY=0 с deltaY=0 . Это приводит к тому, что значение абсолютного значения deltaY будет меньше, чем mTouchSlop а значение mIsBeingDragged останется mIsBeingDragged false . Поскольку mTouchSlop является false , вычисление mTouchSlop не выполняется, когда в ACTION_UP случае происходит событие ACTION_UP .

Есть ли другой подход, который я мог бы использовать, чтобы получить скорость NestedScrollView для родительского NestedScrollView ?

NestedScrollView : https://developer.android.com/reference/android/support/v4/widget/NestedScrollView.html