HorizontalListView的滑动冲突解决

来源:互联网 发布:线切割编程软件有几种 编辑:程序博客网 时间:2024/05/21 17:04

HorizontalListView是可以实现横向滑动ListView,它在github上的项目地址是: https://github.com/MeetMe/Android-HorizontalListView

但笔者在使用它的时候,发现它与slidingmenu或者swipebacklayout产生滑动冲突,很不幸,它的源码里没有去做滑动冲突解决的方法。

在这里,解决它的滑动冲突非常简单,笔者在它原有的类里去增一个方法,就搞定了:


private int mLastX;    private int mLastY;    @Override    public boolean dispatchTouchEvent(MotionEvent ev) {        int x = (int) ev.getX();        int y = (int) ev.getY();        switch (ev.getAction()) {            case MotionEvent.ACTION_DOWN:                getParent().requestDisallowInterceptTouchEvent(true);                break;            case MotionEvent.ACTION_MOVE:                int xDiff = Math.abs(x - mLastX);                int yDiff = Math.abs(y - mLastY);                if (xDiff < yDiff) {                    getParent().requestDisallowInterceptTouchEvent(false);                } else {                    getParent().requestDisallowInterceptTouchEvent(true);                }                break;        }        mLastX = x;        mLastY = y;        return super.dispatchTouchEvent(ev);    }

原创粉丝点击