Scroller中最重要的两个方法是什么?主要目的是?

参考回答:Scroller实现滑动的具体过程:

  • 在MotionEvent.ACTION_UP事件触发时调用startScroll()方法,该方法并没有进行实际的滑动操作,而是记录滑动相关量
  • 马上调用invalidate/postInvalidate()方法,请求View重绘,导致View.draw方法被执行
  • 紧接着会调用View.computeScroll()方法,此方法是空实现,需要自己处理逻辑。具体逻辑是:先判断computeScrollOffset(),若为true(表示滚动未结束),则执行scrollTo()方法,它会再次调用postInvalidate(),如此反复执行,直到返回值为false。流程图如下:

在这里插入图片描述其中,最重要的两个方法是startScroll()和computeScroll()