android-cjj/Android-MaterialRefreshLayout

其实可以添加下其他控件的支持,类似pulltorefresh那样

Opened this issue · 2 comments

有些时候需要内部改变位置,去更改外部framelayout的高度,这样会触发你的刷新,很不好

我自己改下控制逻辑,做内部倾入得了,就这么着吧

有需要加入viewpager的,可以暂时这么处理下
float mDownX;
float mDownY;
private boolean isMyLoadMore;
@OverRide
public boolean dispatchTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
mDownX = ev.getX();
mDownY = ev.getY();
isMyLoadMore=isLoadMore;

            break;
        case MotionEvent.ACTION_CANCEL:
        case MotionEvent.ACTION_UP:

            if (isMyLoadMore){
                setLoadMore(true);
            }else {
                setLoadMore(false);
            }

            break;
        case MotionEvent.ACTION_MOVE:
            if (Math.abs(ev.getX() - mDownX) > Math.abs(ev.getY() - mDownY)) {

                setLoadMore(false);
            } else {

                if (isMyLoadMore){
                    setLoadMore(true);
                }else {
                    setLoadMore(false);
                }
            }
            break;
    }

    return super.dispatchTouchEvent(ev);
}