2013-03-07 53 views
0

我有一个HorizontalScrollView我在其中放置了一个5000像素的图像宽度,基本上是一个规模。我已经覆盖的onScroll()方法来获取滚动的x距离。Horizo​​ntalScrollView没有给出确切的滚动X在android

当滚动到视图的末尾时,我在距离X参数onScroll()中得到的距离不等于图像实际滚动的确切像素数。为什么不?

我使用的API级别9

+0

什么API级别? – Niko 2013-03-07 10:49:43

+0

我正在使用的API级别9 – 2013-03-07 11:49:48

+0

在Horizo​​ntalScrollView中找不到onScroll方法 – Niko 2013-03-07 12:00:29

回答

0

如果你的意思是你正在使用GestureDetector.SimpleOnGestureListener检测滚动和你有兴趣distanceX得到你需要保存开始滚动时的x位置的总滚动距离,然后根据所有onScroll事件调整该位置。文档指出distanceX提供了:

distanceX自上次调用onScroll以来滚动的沿X轴的距离。这不是e1和e2之间的距离。

+0

因此,为了获得完整的滚动distace,我需要每次调用OnScroll时保存e1和e2之间的差异,然后加上差异?我需要做什么调整? – 2013-03-07 12:30:16

+0

对于我所了解的文档如何做到这一点,计算每个事件的x偏移量,并添加它以启动x位置。 – Niko 2013-03-07 13:02:29

+0

这里是我所尝试的,但它没有工作: onScroll方法我写了下面的代码 mEventDistance + = Math.abs(e2.getX() - e1.getX()); 和HorizantalScrollView的OnTouch我保存在ACTION_DOWN上的初始X.但是当我加起来这些值(mEventDistance + initialx)。它不会给我确切的像素。你可以请分享一些提示来源。 – 2013-03-07 13:58:45

0

我希望这将有助于你

int scrollPos = (int) (horizontalScrollview.getScrollX()); 
相关问题