Android Scroller完全解析,关于Scroller你所需知道的一切
Scroller
构造函数
- Scroller(Context context)
- Scroller(Context context, Interpolator interpolator)动画插入器
- Scroller(Context context, Interpolator interpolator, boolean flywheel),overScroller的flinging(具体使用未知)
常用的方法
computeScrollOffset()
判断Scroller的数值是否还在变化中,true为变化中,false为变化完成。
startScroll (int startX, int startY, int dx, int dy)
开始数值变化,前俩个参数为起始的X、Y值,后面俩个是对应的偏移量(偏移量:左上为正,右下为负。默认偏移时间为250毫秒,可以自己加个时间参数。)
Scroller.getCurrX()
得到当前变化的X
Scroller.getCurrY()
得到当前变化的Y
使用
- 在自定义view的构造方法中初始化Scroller
- 调用Scroller的
startScroll (int startX, int startY, int dx,int dy)
开始滚动
并且记得刷新绘制
invalidate();
- 重写函数
computeScroll()
```
这里很重要!很重要!很重要!!!
一般情况下
```
@Override
public void computeScroll() {
if(mScroller.computeScrollOffset()){
scrollTo(mScroller.getCurrX(), mScroller.getCurrY());
invalidate();
}
}
```
----
**[ScrollerDemo](https://github.com/minminaya/ScrollerDemo)**
---
end