gpt4 book ai didi

android - 了解如何使用 OverScroller 类

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:21 25 4
gpt4 key购买 nike

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

现在滚动根本不起作用! fling() 可以很好地作为替换的下降但不能滚动....

总而言之,我有两个问题:

  1. 为什么滚动不能使用 overScrollBy?我是否必须添加额外的代码才能使其正常工作?
  2. 为什么我必须调用 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 - 了解如何使用 OverScroller 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18768939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com