public void fling(int startX,int startY,int velocityX,int velocityY,int minX,int maxX,int minY,int maxY,int overX,int overY){
  if (mFlywheel && !isFinished()) {
    float oldVelocityX=mScrollerX.mCurrVelocity;
    float oldVelocityY=mScrollerY.mCurrVelocity;
    if (Math.signum(velocityX) == Math.signum(oldVelocityX) && Math.signum(velocityY) == Math.signum(oldVelocityY)) {
      velocityX+=oldVelocityX;
      velocityY+=oldVelocityY;
    }
  }
  mScrollerX.mMode=mScrollerY.mMode=FLING_MODE;
  mScrollerX.fling(startX,velocityX,minX,maxX,overX);
  mScrollerY.fling(startY,velocityY,minY,maxY,overY);
}

public void fling ( int startX , int startY , int velocityX , int velocityY , int minX , int maxX , int minY , int maxY , int overX , int overY ) { if ( mFlywheel && ! isFinished ( ) ) { float oldVelocityX = mScrollerX . mCurrVelocity ; float oldVelocityY = mScrollerY . mCurrVelocity ; if ( Math . signum ( velocityX ) == Math . signum ( oldVelocityX ) && Math . signum ( velocityY ) == Math . signum ( oldVelocityY ) ) { velocityX += oldVelocityX ; velocityY += oldVelocityY ; } } mScrollerX . mMode = mScrollerY . mMode = FLING_MODE ; mScrollerX . fling ( startX , velocityX , minX , maxX , overX ) ; mScrollerY . fling ( startY , velocityY , minY , maxY , overY ) ; }
start scrolling based on a fling gesture . the distance traveled will depend on the initial velocity of the fling .
