我正在考虑在我的项目中添加过度滚动(而不是颜色变化),但即使在阅读了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; ... }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。