我正在考虑在我的项目中添加过序(不是颜色变化),但即使在阅读了api文档和这里的几个问题之后,我仍然不太明白我需要做什么才能让它工作。
根据overscroller的api文档:“这个类封装了滚动,能够超出滚动操作的范围。在大多数情况下,这个类是滚动条的替换项。”
我以前在我的父类中有一个scroller对象:
public boolean onTouchEvent(MotionEvent ev) {
....// code to calculate deltas
if (deltaY != 0 || deltaX != 0)
scrollBy(deltaX, deltaY);
}
我把它改成:
if (deltaY != 0 || deltaX != 0)
overScrollBy(deltaX, deltaY, getScrollX(), getScrollY(),
child.getRight() - getWidth(), child.getBottom() - getHeight(),
OVERSCROLL_DISTANCE, OVERSCROLL_DISTANCE, false);
现在滚动根本不起作用!
fling()
可以作为替换项,但不能滚动…总之,我有两个问题:
为什么滚动不适用于
overScrollBy
?我需要添加额外的代码才能工作吗?为什么我要打电话给
mScroller.fling()
而只打overScrollBy()
?为什么不mScroller.overScrollBy()
?它是否以某种方式内置到View
类中?这可能是相当明显的,但我在这里挣扎。任何帮助都将不胜感激,谢谢!
最佳答案
也许是因为这个?
public class ViewConfiguration{
...
/**
* Max distance in dips to overscroll for edge effects
*/
private static final int OVERSCROLL_DISTANCE = 0;
...
}