【问题标题】:synchronize two horizontal scroll view android同步两个水平滚动视图android
【发布时间】:2011-06-28 15:35:37
【问题描述】:

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

【问题讨论】:

    标签: android horizontalscrollview


    【解决方案1】:

    你可以做的是在第一个 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);                             
            } 
    

    【讨论】:

    【解决方案2】:

    我会为每个视图实现onScrollListener,以便在另一个视图上调用scrollTo

    【讨论】:

    • 哪些视图? HorizontalScrollView 没有 onScrollListener 方法。
    • scrollView.getViewTreeObserver().addOnScrollChangedListener(new OnScrollChangedListener(){...});
    • 嗨,Alexandru,你知道这个吗? stackoverflow.com/questions/58848391/…
    猜你喜欢
    • 2011-12-13
    • 2017-05-15
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多