android.support.v4.widget.ViewDragHelper#STATE_SETTLING源码实例Demo

下面列出了android.support.v4.widget.ViewDragHelper#STATE_SETTLING 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    if (isDragLocked()) {
        return super.onInterceptTouchEvent(ev);
    }

    mDragHelper.processTouchEvent(ev);
    mGestureDetector.onTouchEvent(ev);
    accumulateDragDist(ev);

    boolean couldBecomeClick = couldBecomeClick(ev);
    boolean settling = mDragHelper.getViewDragState() == ViewDragHelper.STATE_SETTLING;
    boolean idleAfterScrolled = mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE
            && mIsScrolling;

    // must be placed as the last statement
    mPrevX = ev.getX();

    // return true => intercept, cannot trigger onClick event
    return !couldBecomeClick && (settling || idleAfterScrolled);
}
 
源代码2 项目: SwipeRevealLayout   文件: SwipeRevealLayout.java
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    if (isDragLocked()) {
        return super.onInterceptTouchEvent(ev);
    }

    mDragHelper.processTouchEvent(ev);
    mGestureDetector.onTouchEvent(ev);
    accumulateDragDist(ev);

    boolean couldBecomeClick = couldBecomeClick(ev);
    boolean settling = mDragHelper.getViewDragState() == ViewDragHelper.STATE_SETTLING;
    boolean idleAfterScrolled = mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE
            && mIsScrolling;

    // must be placed as the last statement
    mPrevX = ev.getX();
    mPrevY = ev.getY();

    // return true => intercept, cannot trigger onClick event
    return !couldBecomeClick && (settling || idleAfterScrolled);
}
 
源代码3 项目: dragqueen   文件: OuterLayout.java
@Override
public void onViewDragStateChanged(int state) {
    if (state == mDraggingState) { // no change
        return;
    }
    if ((mDraggingState == ViewDragHelper.STATE_DRAGGING || mDraggingState == ViewDragHelper.STATE_SETTLING) &&
         state == ViewDragHelper.STATE_IDLE) {
        // the view stopped from moving.

        if (mDraggingBorder == 0) {
            onStopDraggingToClosed();
        } else if (mDraggingBorder == mVerticalRange) {
            mIsOpen = true;
        }
    }
    if (state == ViewDragHelper.STATE_DRAGGING) {
        onStartDragging();
    }
    mDraggingState = state;
}
 
public void setMode(Mode mode) {
    if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_SETTLING) {
        return;
    }
    //如果点击了月模式并且当前模式不是月模式的话
    if (mode.equals(Mode.MONTH)) {
        // 月模式切月模式
        if (currentMode.equals(Mode.MONTH)) {
            isModeChange = false;
        }
        //周模式切月模式
        if (currentMode.equals(Mode.WEEK)) {
            isModeChange = true;
        }
        setWeek2MonthMode();
        return;
    }
    if (mode.equals(Mode.WEEK)) {

        //周模式切周模式
        if (currentMode.equals(Mode.WEEK)) {
            isModeChange = false;
        }
        //月模式切周模式
        if (currentMode.equals(Mode.MONTH)) {
            isModeChange = true;
        }
        setMonth2WeekMode();

    }

}
 
源代码5 项目: Readhub   文件: SwipeBackLayout.java
@Override
public void onViewDragStateChanged(int state) {
    if (state == draggingState) return;

    if ((draggingState == ViewDragHelper.STATE_DRAGGING ||
        draggingState == ViewDragHelper.STATE_SETTLING) &&
        state == ViewDragHelper.STATE_IDLE) {
        // the view stopped from moving.
        if (draggingOffset == getDragRange()) {
            finish();
        }
    }

    draggingState = state;
}
 
源代码6 项目: LLApp   文件: SwipeBackLayout.java
@Override
public void onViewDragStateChanged(int state) {
    if (state == draggingState) return;

    if ((draggingState == ViewDragHelper.STATE_DRAGGING || draggingState == ViewDragHelper.STATE_SETTLING) &&
            state == ViewDragHelper.STATE_IDLE) {
        // the view stopped from moving.
        if (draggingOffset == getDragRange()) {
            finish();
        }
    }

    draggingState = state;
}
 
源代码7 项目: SwipeBack   文件: SwipeBackLayout.java
@Override
public void onViewDragStateChanged(int state) {
    if (state == draggingState) return;

    if ((draggingState == ViewDragHelper.STATE_DRAGGING || draggingState == ViewDragHelper.STATE_SETTLING) &&
            state == ViewDragHelper.STATE_IDLE) {
        // the view stopped from moving.
        if (draggingOffset == getDragRange()) {
            onFinishListener.onFinishState();
        }
    }

    draggingState = state;
}
 
源代码8 项目: dragqueen   文件: OuterLayout.java
public boolean isMoving() {
    return (mDraggingState == ViewDragHelper.STATE_DRAGGING ||
            mDraggingState == ViewDragHelper.STATE_SETTLING);
}