used Scroller.fling() when over scrolling, and simplified the code.