Scroller 实现渐变式滑动是固定写法:
如下 :
mScroller = new Scroller(mContext);
/**
* 滑动内容 而不是整个ViewGrope
* 渐进式滑动
* @param destX
* @param destY
*/
private void smoothScrollToMy(int destX, int destY) {
int scrollX = getScrollX();
int delta = destX - scrollX;
mScroller.startScroll(scrollX, 0, delta, 0, 1000);
invalidate();
}
@Override
public void computeScroll() {
super.computeScroll();
if (mScroller.computeScrollOffset()) {
scrollTo(mScroller.getCurrX(), mScroller.getCurrY());
postInvalidate();
}
}
这个是在一秒钟的渐变式滑动。
说明:1 . 这里的滑动时滑动内容,而非位置。
2. 工作原理是 根据滑动时间,不断进行重绘,从而看着是渐变的。
3. 主要是通过 computeScrooll 进行重绘的