Android 使视图不显示滚动事件,只显示触摸事件 我有一个线性布局出现在屏幕中间,上面的ZORD我的ListVIEW。此线性布局由几个按钮组成

Android 使视图不显示滚动事件,只显示触摸事件 我有一个线性布局出现在屏幕中间,上面的ZORD我的ListVIEW。此线性布局由几个按钮组成,android,Android,我希望当我在这条直线上滚动时,它不会捕捉事件,并让它进入下列表视图。当点击按钮时,他们得到onClick事件 我希望这是清楚的…关于信息,这就是我解决问题的方法。希望代码是清楚的 private Point p1; private Point p2; private int mTouchSlop; public StickyView(Context context, AttributeSet attrs) { super(context, attrs); ViewConfig

我希望当我在这条直线上滚动时,它不会捕捉事件,并让它进入下列表视图。当点击按钮时,他们得到onClick事件


我希望这是清楚的…

关于信息,这就是我解决问题的方法。希望代码是清楚的

private Point p1;
private Point p2;
private int mTouchSlop;

public StickyView(Context context, AttributeSet attrs) {
    super(context, attrs);

    ViewConfiguration vc = ViewConfiguration.get(context);
    mTouchSlop = vc.getScaledTouchSlop();
}

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    if (ev.getAction() == MotionEvent.ACTION_UP || ev.getAction() == MotionEvent.ACTION_CANCEL) {
        listView.onTouchEvent(ev);
        return super.onInterceptTouchEvent(ev);
    } else if (ev.getAction() == MotionEvent.ACTION_MOVE) {
        p2 = new Point(0, (int) ev.getY());
        double distance = Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));
        if (Math.abs(distance)> mTouchSlop) {
            listView.onTouchEvent(ev);
            return super.onInterceptTouchEvent(ev);
        }
        p1 = p2;
    } else if (ev.getAction() == MotionEvent.ACTION_DOWN) {
        p1 = new Point(0, (int) ev.getY());
        listView.onTouchEvent(ev);
    }
    return super.onInterceptTouchEvent(ev);
}

换句话说。。。问题是我在listview上面有一个粘滞视图。此粘滞视图由获取整个粘滞视图的按钮组成。您是否有办法将滚动传递到列表视图,并将单击按钮传递到按钮?