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

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

源代码1 项目: AntennaPodSP   文件: SlidingUpPanelLayout.java
@Override
public void onViewDragStateChanged(int state) {
    int anchoredTop = (int)(mAnchorPoint*mSlideRange);

    if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE) {
        if (mSlideOffset == 0) {
            if (mSlideState != SlideState.EXPANDED) {
                updateObscuredViewVisibility();
                dispatchOnPanelExpanded(mSlideableView);
                mSlideState = SlideState.EXPANDED;
            }
        } else if (mSlideOffset == (float)anchoredTop/(float)mSlideRange) {
            if (mSlideState != SlideState.ANCHORED) {
                updateObscuredViewVisibility();
                dispatchOnPanelAnchored(mSlideableView);
                mSlideState = SlideState.ANCHORED;
            }
        } else if (mSlideState != SlideState.COLLAPSED) {
            dispatchOnPanelCollapsed(mSlideableView);
            mSlideState = SlideState.COLLAPSED;
        }
    }
}
 
源代码2 项目: TurboLauncher   文件: SlidingUpPanelLayout.java
@Override
public void onViewDragStateChanged(int state) {
    int anchoredTop = (int)(mAnchorPoint*mSlideRange);

    if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE) {
        if (mSlideOffset == 0) {
            if (mSlideState != SlideState.EXPANDED) {
                updateObscuredViewVisibility();
                dispatchOnPanelExpanded(mSlideableView);
                mSlideState = SlideState.EXPANDED;
            }
        } else if (mSlideOffset == (float)anchoredTop/(float)mSlideRange) {
            if (mSlideState != SlideState.ANCHORED) {
                updateObscuredViewVisibility();
                dispatchOnPanelAnchored(mSlideableView);
                mSlideState = SlideState.ANCHORED;
            }
        } else if (mSlideState != SlideState.COLLAPSED) {
            dispatchOnPanelCollapsed(mSlideableView);
            mSlideState = SlideState.COLLAPSED;
        }
    }
}
 
@Override
public void onViewDragStateChanged(int state) {
    int anchoredTop = (int)(mAnchorPoint*mSlideRange);

    if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE) {
        if (mSlideOffset == 0) {
            if (mSlideState != SlideState.EXPANDED) {
                updateObscuredViewVisibility();
                dispatchOnPanelExpanded(mSlideableView);
                mSlideState = SlideState.EXPANDED;
            }
        } else if (mSlideOffset == (float)anchoredTop/(float)mSlideRange) {
            if (mSlideState != SlideState.ANCHORED) {
                updateObscuredViewVisibility();
                dispatchOnPanelAnchored(mSlideableView);
                mSlideState = SlideState.ANCHORED;
            }
        } else if (mSlideState != SlideState.COLLAPSED) {
            dispatchOnPanelCollapsed(mSlideableView);
            mSlideState = SlideState.COLLAPSED;
        }
    }
}
 
源代码4 项目: 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);
}
 
源代码5 项目: BlackLight   文件: SlidingUpPanelLayout.java
@Override
public void onViewDragStateChanged(int state) {
    int anchoredTop = (int)(mAnchorPoint*mSlideRange);

    if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE) {
        if (mSlideOffset == 0) {
            if (mSlideState != SlideState.EXPANDED) {
                updateObscuredViewVisibility();
                dispatchOnPanelExpanded(mSlideableView);
                mSlideState = SlideState.EXPANDED;
            }
        } else if (mSlideOffset == (float)anchoredTop/(float)mSlideRange) {
            if (mSlideState != SlideState.ANCHORED) {
                updateObscuredViewVisibility();
                dispatchOnPanelAnchored(mSlideableView);
                mSlideState = SlideState.ANCHORED;
            }
        } else if (mSlideState != SlideState.COLLAPSED) {
            dispatchOnPanelCollapsed(mSlideableView);
            mSlideState = SlideState.COLLAPSED;
        }
    }
}
 
源代码6 项目: VCL-Android   文件: SlidingPaneLayout.java
@Override
public void onViewDragStateChanged(int state) {
    if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE) {
        if (mSlideOffset == 0) {
            if (mState != STATE_CLOSED) {
                mState = STATE_CLOSED;
                if (mPanelSlideListener != null)
                    mPanelSlideListener.onPanelClosed();
            }
        } else if (Math.abs(mSlideOffset - (1 - (float)mOverhangSize / mSlideRange))
                   <= 0.001) {
            if (mState != STATE_OPENED) {
                mState = STATE_OPENED;
                if (mPanelSlideListener != null)
                    mPanelSlideListener.onPanelOpened();
            }
        } else if (mSlideOffset == 1) {
            if (mState != STATE_OPENED_ENTIRELY) {
                mState = STATE_OPENED_ENTIRELY;
                if (mPanelSlideListener != null)
                    mPanelSlideListener.onPanelOpenedEntirely();
            }
        }
    }
}
 
源代码7 项目: SlideActivity   文件: SlideLayout.java
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int widthMode = MeasureSpec.getMode(widthMeasureSpec);
    int widthSize = MeasureSpec.getSize(widthMeasureSpec);
    if (widthMode != MeasureSpec.EXACTLY) {
        throw new IllegalStateException("Width must have an exact value or MATCH_PARENT");
    }

    int heightMode = MeasureSpec.getMode(heightMeasureSpec);
    int heightSize = MeasureSpec.getSize(heightMeasureSpec);
    if (heightMode != MeasureSpec.EXACTLY) {
        throw new IllegalStateException("Width must have an exact value or MATCH_PARENT");
    }

    final int childCount = getChildCount();

    // We'll find the current one below.
    mSlideableView = null;

    for (int i = 0; i < childCount; i++) {
        final View child = getChildAt(i);
        final LayoutParams lp = (LayoutParams) child.getLayoutParams();

        int childWidthSpec = MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY);
        int childHeightSpec = MeasureSpec.makeMeasureSpec(heightSize, MeasureSpec.EXACTLY);

        child.measure(childWidthSpec, childHeightSpec);
        lp.slideable = true;
        mSlideableView = child;
    }

    setMeasuredDimension(widthSize, heightSize);
    mCanSlide = true;

    if (mDragHelper.getViewDragState() != ViewDragHelper.STATE_IDLE) {
        // Cancel scrolling in progress, it's no longer relevant.
        mDragHelper.abort();
    }
}
 
源代码8 项目: 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;
}
 
源代码9 项目: PlusDemo   文件: DragHelperGridView.java
@Override
public void onViewDragStateChanged(int state) {
    if (state == ViewDragHelper.STATE_IDLE) {
        View capturedView = dragHelper.getCapturedView();
        if (capturedView != null) {
            capturedView.setElevation(capturedView.getElevation() - 1);
        }
    }
}
 
源代码10 项目: Android_UE   文件: ViewDragHelperView.java
@Override
public void onViewDragStateChanged(int state) {
    if (state == ViewDragHelper.STATE_IDLE) {
        View captureView = mViewDragHelper.getCapturedView();
        if (captureView != null) {
            captureView.setElevation(captureView.getElevation() - 1);
        }
    }
}
 
源代码11 项目: 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;
}
 
源代码12 项目: KlyphMessenger   文件: SlidingPaneLayout.java
@Override
public void onViewDragStateChanged(int state) {
    if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE) {
        if (mSlideOffset == 0) {
            updateObscuredViewsVisibility(mSlideableView);
            dispatchOnPanelClosed(mSlideableView);
            mPreservedOpenState = false;
        } else {
            dispatchOnPanelOpened(mSlideableView);
            mPreservedOpenState = true;
        }
    }
}
 
源代码13 项目: SlidingRootNav   文件: SlidingRootNavLayout.java
@Override
public void onViewDragStateChanged(int state) {
    if (dragState == ViewDragHelper.STATE_IDLE && state != ViewDragHelper.STATE_IDLE) {
        notifyDragStart();
    } else if (dragState != ViewDragHelper.STATE_IDLE && state == ViewDragHelper.STATE_IDLE) {
        isMenuHidden = calculateIsMenuHidden();
        notifyDragEnd(isMenuOpened());
    }
    dragState = state;
}
 
源代码14 项目: AccountBook   文件: SlideFrameLayout.java
@Override
public void onViewDragStateChanged(int state) {
    if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE) {
        if (mSlideOffset == 0) {
            updateObscuredViewsVisibility(mSlideableView);
            mPreservedOpenState = false;
        } else {
            mPreservedOpenState = true;
        }
    }
}
 
源代码15 项目: AndroidProjects   文件: SwipeBackLayout.java
@Override
public void onViewDragStateChanged(int state) {
    if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE) {
        if (mSlideOffset == 0) {
            updateObscuredViewsVisibility(mSlideableView);
            dispatchOnPanelClosed(mSlideableView);
            mPreservedOpenState = false;
        } else {
            dispatchOnPanelOpened(mSlideableView);
            mPreservedOpenState = true;
        }
    }
}
 
源代码16 项目: SwipeBackLibrary   文件: SwipeBackLayout.java
@Override
protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
    final boolean drawContent = child == mContentView;

    boolean ret = super.drawChild(canvas, child, drawingTime);
    if (mScrimOpacity > 0 && drawContent
            && mViewDragHelper.getViewDragState() != ViewDragHelper.STATE_IDLE) {
        if (mHasShadow) drawShadow(canvas, child);
        drawScrim(canvas, child);
    }
    return ret;
}
 
源代码17 项目: SwipeBackLibrary   文件: SwipeBackLayout.java
@Override
        public void onViewDragStateChanged(int state) {
            super.onViewDragStateChanged(state);
            if (mListeners != null && !mListeners.isEmpty()) {
                for (SwipeListener listener : mListeners) {
                    listener.onScrollStateChange(state, mScrollPercent);
                }
            }
//            Log.i("======", "onViewDragStateChanged:" + state + ":" + mScrollPercent);

            if (state == ViewDragHelper.STATE_IDLE) {
                if (mScrollPercent >= 1){
                    if (mFragment != null && !mFragment.isDetached()){//结束当前fragment时,取消动画
                        ISwipeBackFragment iSwipeBackFragment = (ISwipeBackFragment)mFragment;
                        iSwipeBackFragment.getPreFragment().setLockable(true);

                        iSwipeBackFragment.setLockable(true);
                        mFragment.getFragmentManager().popBackStackImmediate();
                        iSwipeBackFragment.setLockable(false);

                        iSwipeBackFragment.getPreFragment().setLockable(false);
                    }else if (mActivity != null && !mActivity.isFinishing()){
                        mActivity.finish();
                    }
                }else{
                    recovery(getPreSwipeBackLayout());
                    if (mActivity != null) Utils.convertActivityFromTranslucent(mActivity);
                }
            }
        }
 
源代码18 项目: DrawerBehavior   文件: BehaviorDelegate.java
private void updateDrawerState(int activeState, View activeDrawer) {
  final int state = dragger.getViewDragState();

  if (activeDrawer != null && activeState == ViewDragHelper.STATE_IDLE) {
    if (onScreen == 0) {
      dispatchOnDrawerClosed(activeDrawer);
    } else if (onScreen == 1) {
      dispatchOnDrawerOpened(activeDrawer);
    }
  }

  if (state != drawerState) {
    drawerState = state;
  }
}
 
源代码19 项目: ToolbarPanel   文件: ToolbarPanelLayout.java
/**
 * Resolve the shared state of all drawers from the component ViewDragHelpers.
 * Should be called whenever a ViewDragHelper's state changes.
 */
void updateDrawerState(int activeState) {

    if (activeState == ViewDragHelper.STATE_IDLE) {
        if (dragOffset == 0) {
            dispatchOnPanelClosed();
        } else if (dragOffset == 1) {
            dispatchOnDrawerOpened();
        }
    }
}
 
源代码20 项目: UltimateAndroid   文件: SlidingLayout.java
@Override
public void onViewDragStateChanged(int state) {
    if (mDragHelper.getViewDragState() == ViewDragHelper.STATE_IDLE) {
        if (mSlideOffset == 0) {
            updateObscuredViewsVisibility(mSlideableView);
            dispatchOnPanelClosed(mSlideableView);
            mPreservedOpenState = false;
        } else {
            dispatchOnPanelOpened(mSlideableView);
            mPreservedOpenState = true;
        }
    }
}