android – 了解如何使用OverScroller类

前端之家收集整理的这篇文章主要介绍了android – 了解如何使用OverScroller类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在考虑在我的项目中添加过度滚动(而不是颜色变化),但即使在阅读了API文档和这里的几个问题后,我仍然不明白我需要做些什么才能使它工作.

根据OverScroller的API文档:“这个类封装了滚动,能够超越滚动操作的范围.在大多数情况下,这个类是Scroller的直接替代品.”

我之前在父类中有一个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,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;
...
}

猜你在找的Android相关文章