Scroller弹性滑动经典代码:
/**
构建Scroller对象
*/
Scroller mScroller = new Scroller(context);
private void smoothScrollToPosition(int destX,int destY){
// 获取水平滑动距离
int scrollX = getScrollX();
int deltaX = destX - scrollX;
// 1000ms内滑向destX
mScroller.startScroll(scrollX ,0,deltaX,0,1000);
// 注意这个才是重点,只有刷新界面才能不能重绘,否则不能弹性滑动
invalidate();
}
@Override
public void computeScroll(){
if(mScroller.computeScrollOffset()){
scrollTo(mScroller.getCurX(),mScroller.getCurrY());
postInvalidate();
}
}
网友评论