@Override
    public void scrollTo(int x, int y) {
        super.scrollTo(x, y);
        if (maxOffset == minOffset) {
            return;
        }
        //only from min to max or from max to min,send progress out. not exit
        if (-y <= maxOffset) {
            float progress = (float) (-y - minOffset) / (maxOffset - minOffset);
            onScrollProgressChanged(progress);
        } else {
            float progress = (float) (-y - maxOffset) / (maxOffset - exitOffset);
            onScrollProgressChanged(progress);
        }
        if (y == -minOffset) {
            // closed
            if (currentInnerStatus != InnerStatus.CLOSED) {
                currentInnerStatus = InnerStatus.CLOSED;
                onScrollFinished(Status.CLOSED);
            }
        } else if (y == -maxOffset) {
            // opened
            if (currentInnerStatus != InnerStatus.OPENED) {
                currentInnerStatus = InnerStatus.OPENED;
                onScrollFinished(Status.OPENED);
            }
        } else if (isSupportExit && y == -exitOffset) {
            // exited
            if (currentInnerStatus != InnerStatus.EXIT) {
                currentInnerStatus = InnerStatus.EXIT;
                onScrollFinished(Status.EXIT);
            }
        }
    }
Set the scrolled position of your view. This will cause a call to
{@link #onScrollChanged(int, int, int, int)} and the view will be
invalidated.

@param x the x position to scroll to
@param y the y position to scroll to
scrolllayout/src/main/java/com/yinglan/scrolllayout/ScrollLayout.java