当滚动另一个ScrollView时,想要并行滚动ScrollView

时间:2017-03-07 08:08:12

标签: android android-layout uiscrollview scrollview horizontalscrollview

我在相同的布局中创建了两个ScrollView。你可以说一个平行的scrollview。我想手动滚动一个scrollview,作为响应,另一个scrollview应该完全相同的方式滚动。两个视图的滚动长度相同。 对于两个滚动视图,这应该是相同的。我试过这个代码。

REGEXP

这里发生的事情是第一次" B" scrollview它工作正常,但对于" D" scrollview它在滚动时产生问题。 我理解这个问题,但无法得到解决方案。那么当另一个人正在调用" onScrollChangeListener()"时,我应该怎么做才能避免打电话。

1 个答案:

答案 0 :(得分:1)

覆盖Horizo​​ntalView类

package com.example.shaby.payshare;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.HorizontalScrollView;

/**
 * Created by shaby on 3/7/2017.
 */

public class HorizontalScroll extends HorizontalScrollView {

    private ScrollViewListener scrollViewListener = null;
    public interface ScrollViewListener {

        void onScrollChanged(HorizontalScroll scrollView, int x, int y, int oldx, int oldy);

    }
    public HorizontalScroll(Context context) {
        super(context);
    }

    public HorizontalScroll(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public HorizontalScroll(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public void setScrollViewListener(ScrollViewListener scrollViewListener) {
        this.scrollViewListener = scrollViewListener;
    }

    @Override
    protected void onScrollChanged(int x, int y, int oldx, int oldy) {
        super.onScrollChanged(x, y, oldx, oldy);
        if(scrollViewListener != null) {
            scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);
        }
    }
}

在所需的课程中实施界面

相关问题