/** * 在边界滑动的时候 同时滑动dragView2 * @param edgeFlags * @param pointerId */ @Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { mDragHelper.captureChildView(view_two, pointerId); }
@Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { // ======================== 新加的 START ======================== // mDragHelper.captureChildView(mSlideableView, pointerId); if (isSwipeBackEnable()) { mDragHelper.captureChildView(mSlideableView, pointerId); } // ======================== 新加的 END ======================== } }
@Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { mCurEdgeFlag = edgeFlags; //获取边缘状态 // 捕捉布局界面 mViewDragHelper.captureChildView(getChildAt(0), pointerId); }
@Override public boolean tryCaptureView(View child, int pointerId) { if (isMenuLocked) { return false; } boolean isOnEdge = edgeTouched; edgeTouched = false; if (isMenuClosed()) { return child == rootView && isOnEdge; } else { if (child != rootView) { dragHelper.captureChildView(rootView, pointerId); return false; } return true; } }
@Override public boolean onTouchEvent(MotionEvent event) { mDragHelper.processTouchEvent(event); final int action = event.getActionMasked(); switch (action) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_UP: mLastMotionY = 0; bDraging = false; bScrollDown = false; rainbowRotateAngle = 0; break; case MotionEvent.ACTION_MOVE: int index = MotionEventCompat.getActionIndex(event); int pointerId = MotionEventCompat.getPointerId(event, index); if (shouldIntercept()) { mDragHelper.captureChildView(mContentView, pointerId); } break; } return true; }
@Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { mDragHelper.captureChildView(mSlideableView, pointerId); } }
@Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { mDragHelper.captureChildView(mSlideableView, pointerId); } }
@Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { if (((edgeFlags & ViewDragHelper.EDGE_LEFT) == ViewDragHelper.EDGE_LEFT && isLeft) || ((edgeFlags & ViewDragHelper.EDGE_RIGHT) == ViewDragHelper.EDGE_RIGHT && !isLeft)) { dragger.captureChildView(child, pointerId); } }
@Override public boolean tryCaptureView(View child, int pointerId) { //类似策划栏,当左边打开时也可以通过触摸左边区域挪动mTopView的位置,类似于onEdgeDragStarted中调运 mHelper.captureChildView(mTopView, pointerId); //上面的View是需要变化的 return child == mTopView; }
@Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { //setEdgeTrackingEnabled设置的边界滑动时触发 //captureChildView是为了让tryCaptureView返回false依旧生效 mTopViewDragHelper.captureChildView(mDrawerView, pointerId); }
@Override public boolean tryCaptureView(View child, int pointerId) { if (child == mTopView) { mHelper.captureChildView(mBottomView, pointerId); } return mBottomView == child; }
@Override public void onViewCaptured(View capturedChild, int activePointerId) { if (capturedChild == mMenuView) { mViewDragHelper.captureChildView(mMainView, activePointerId); } }
@Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { mDragHelper.captureChildView(mSlideableView, pointerId); } }
/** * 在边界拖动时回调: * * 我们在onEdgeDragStarted回调方法中,主动通过captureChildView对其进行捕获, * 该方法可以绕过tryCaptureView,所以我们的tryCaptureView虽然并为返回true,但却不影响。 * 注意如果需要使用边界检测需要添加: ViewDragHelper.EDGE_LEFT * */ @Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { // super.onEdgeDragStarted(edgeFlags, pointerId); mViewDragHelper.captureChildView(mEdgeTrackerView, pointerId); }
@Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { mViewDragHelper.captureChildView(mMainView, pointerId); }
@Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { mDragHelper.captureChildView(mSlideableView, pointerId); } }
@Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { mDragHelper.captureChildView(mSlideableView, pointerId); } }
@Override protected void onAttachedToWindow() { super.onAttachedToWindow(); if (sheet != null) { sheetDragHelper = ViewDragHelper.create((ViewGroup) sheet.getParent(), dragHelperCallbacks); sheetDragHelper.captureChildView(sheet, 1); } }
@Override protected void onAttachedToWindow() { super.onAttachedToWindow(); if (sheet != null) { sheetDragHelper = ViewDragHelper.create((ViewGroup) sheet.getParent(), dragHelperCallbacks); sheetDragHelper.captureChildView(sheet, 1); } }
@Override public void onEdgeDragStarted(int edgeFlags, int pointerId) { final View toCapture; if ((edgeFlags & ViewDragHelper.EDGE_LEFT) == ViewDragHelper.EDGE_LEFT) { toCapture = findDrawerWithGravity(Gravity.LEFT); } else { toCapture = findDrawerWithGravity(Gravity.RIGHT); } if (toCapture != null && getDrawerLockMode(toCapture) == LOCK_MODE_UNLOCKED) { mDragger.captureChildView(toCapture, pointerId); } }