5

我有两个水平滚动视图,每个视图下都包含一个线性布局项。如何同步滚动,当其中一个滚动时,另一个也自动滚动。有什么帮助吗?

4

2 回答 2

3

您可以做的是在第一个 Horizo​​ntal Scroll 视图的 onTouch 上,记录它开始的 X 位置,以进行 Down 动作。然后当你有一个移动的动作时,记录下 X 位置的变化。然后你可以调用第二个水平滚动视图的scrollBy (deltaX, 0)。在 Up 或 Cancel 操作上,请确保重置您的状态变量。

我已经通过滚动垂直滚动的列表视图来完成此操作,仅使用 Y 位置而不是 X。这是我的代码来完成此操作。concurrentScroller 是我的垂直视图。

if(concurrentScroller != null) {
            int deltaY = (int) (startTouchConcurrentY - ev.getY());
            startTouchConcurrentY = ev.getY();
            concurrentScroller.scrollBy(0, deltaY);                             
        } 
于 2011-06-28T15:54:15.413 回答
1

我将为onScrollListener每个视图实施以调用scrollTo另一个视图。

于 2011-06-28T15:54:27.883 回答