如何在不设置动画的情况下滚动到 scrollView 中的某个位置?

How to scroll to a location in a scrollView without animating?

我一直在做一些研究,但没有找到实用的解决方案。

简而言之,我需要以编程方式scrollTo scrollView 中的一个位置(如果有人想知道,则为水平),没有 animating/seeing 动画。 scrollTo 执行动画。到目前为止我所尝试的一切都是明显地滚动 scrollView。我希望能够立即设置它跳转到的位置。

有人有什么建议吗?

这些是设置滚动的不同方法posiotion/location

ScrollView.scrollTo(int x, int y);
ScrollView.smoothScrollTo(int x, int y);
ScrollView.smoothScrollBy(int x, int y);

尝试其中之一。希望对你有帮助。

如果您想立即滚动,请使用 scrollBy (int x, int y)

最后,我用scrollView.scrollTo(x,y)

实现了"instant scroll"

但是,它不能单独工作。为了让它在不看到滚动动画的情况下工作,我必须仅在知道 scrollView 停止时才执行我的逻辑。我实施了 tulio84z 在他的 answer

中建议的内容

通过知道我的 scrollView 何时完成滚动,我可以使用 scrollTo 而不会看到任何滚动动画。