我正在考虑在我的项目中添加过序(不是颜色变化),但即使在阅读了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;
...
}

07-27 17:13