From 1f70d1b139e80f502e510baf52a79337d84c0b14 Mon Sep 17 00:00:00 2001 From: daimajia Date: Sun, 17 May 2015 09:28:59 +0800 Subject: [PATCH] Prettify the code and remove useless public descriptor --- .../java/com/daimajia/swipe/SwipeLayout.java | 305 ++++++++++-------- 1 file changed, 175 insertions(+), 130 deletions(-) diff --git a/library/src/main/java/com/daimajia/swipe/SwipeLayout.java b/library/src/main/java/com/daimajia/swipe/SwipeLayout.java index ec1c035..d74a713 100644 --- a/library/src/main/java/com/daimajia/swipe/SwipeLayout.java +++ b/library/src/main/java/com/daimajia/swipe/SwipeLayout.java @@ -59,14 +59,14 @@ public class SwipeLayout extends FrameLayout { private boolean[] mSwipesEnabled = new boolean[]{true, true, true, true}; private boolean mClickToClose = false; - public static enum DragEdge { + public enum DragEdge { Left, Top, Right, Bottom } - public static enum ShowMode { + public enum ShowMode { LayDown, PullOut } @@ -111,17 +111,17 @@ public class SwipeLayout extends FrameLayout { } public interface SwipeListener { - public void onStartOpen(SwipeLayout layout); + void onStartOpen(SwipeLayout layout); - public void onOpen(SwipeLayout layout); + void onOpen(SwipeLayout layout); - public void onStartClose(SwipeLayout layout); + void onStartClose(SwipeLayout layout); - public void onClose(SwipeLayout layout); + void onClose(SwipeLayout layout); - public void onUpdate(SwipeLayout layout, int leftOffset, int topOffset); + void onUpdate(SwipeLayout layout, int leftOffset, int topOffset); - public void onHandRelease(SwipeLayout layout, float xvel, float yvel); + void onHandRelease(SwipeLayout layout, float xvel, float yvel); } public void addSwipeListener(SwipeListener l) { @@ -132,7 +132,7 @@ public class SwipeLayout extends FrameLayout { mSwipeListeners.remove(l); } - public static interface SwipeDenier { + public interface SwipeDenier { /* * Called in onInterceptTouchEvent Determines if this swipe event should * be denied Implement this interface if you are using views with swipe @@ -140,7 +140,7 @@ public class SwipeLayout extends FrameLayout { * * @return true deny false allow */ - public boolean shouldDenySwipe(MotionEvent ev); + boolean shouldDenySwipe(MotionEvent ev); } public void addSwipeDenier(SwipeDenier denier) { @@ -156,7 +156,7 @@ public class SwipeLayout extends FrameLayout { } public interface OnRevealListener { - public void onReveal(View child, DragEdge edge, float fraction, int distance); + void onReveal(View child, DragEdge edge, float fraction, int distance); } /** @@ -276,7 +276,7 @@ public class SwipeLayout extends FrameLayout { } } else { View surfaceView = getSurfaceView(); - int surfaceViewTop = surfaceView==null?0:surfaceView.getTop(); + int surfaceViewTop = surfaceView == null ? 0 : surfaceView.getTop(); switch (mCurrentDragEdge) { case Left: case Right: @@ -309,7 +309,7 @@ public class SwipeLayout extends FrameLayout { @Override public boolean tryCaptureView(View child, int pointerId) { boolean result = child == getSurfaceView() || getBottomViews().contains(child); - if(result){ + if (result) { isCloseBeforeDrag = getOpenStatus() == Status.Close; } return result; @@ -326,11 +326,12 @@ public class SwipeLayout extends FrameLayout { } boolean isCloseBeforeDrag = true; + @Override public void onViewReleased(View releasedChild, float xvel, float yvel) { super.onViewReleased(releasedChild, xvel, yvel); processHandRelease(xvel, yvel, isCloseBeforeDrag); - for (SwipeListener l : mSwipeListeners){ + for (SwipeListener l : mSwipeListeners) { l.onHandRelease(SwipeLayout.this, xvel, yvel); } @@ -340,16 +341,16 @@ public class SwipeLayout extends FrameLayout { @Override public void onViewPositionChanged(View changedView, int left, int top, int dx, int dy) { View surfaceView = getSurfaceView(); - if(surfaceView==null) return; + if (surfaceView == null) return; View currentBottomView = getCurrentBottomView(); - int evLeft = surfaceView.getLeft(), - evRight = surfaceView.getRight(), - evTop = surfaceView.getTop(), + int evLeft = surfaceView.getLeft(), + evRight = surfaceView.getRight(), + evTop = surfaceView.getTop(), evBottom = surfaceView.getBottom(); if (changedView == surfaceView) { - if (mShowMode == ShowMode.PullOut && currentBottomView!=null) { - if (mCurrentDragEdge == DragEdge.Left || mCurrentDragEdge == DragEdge.Right){ + if (mShowMode == ShowMode.PullOut && currentBottomView != null) { + if (mCurrentDragEdge == DragEdge.Left || mCurrentDragEdge == DragEdge.Right) { currentBottomView.offsetLeftAndRight(dx); } else { currentBottomView.offsetTopAndBottom(dy); @@ -363,7 +364,7 @@ public class SwipeLayout extends FrameLayout { surfaceView.offsetTopAndBottom(dy); } else { Rect rect = computeBottomLayDown(mCurrentDragEdge); - if(currentBottomView!=null){ + if (currentBottomView != null) { currentBottomView.layout(rect.left, rect.top, rect.right, rect.bottom); } @@ -523,7 +524,7 @@ public class SwipeLayout extends FrameLayout { if (status == Status.Open) { View currentBottomView = getCurrentBottomView(); - if(currentBottomView!=null){ + if (currentBottomView != null) { currentBottomView.setEnabled(true); } for (SwipeListener l : mSwipeListeners) { @@ -543,13 +544,13 @@ public class SwipeLayout extends FrameLayout { if (status == Status.Close) { for (View bottom : bottoms) { - if (bottom!=null && bottom.getVisibility() != INVISIBLE){ + if (bottom != null && bottom.getVisibility() != INVISIBLE) { bottom.setVisibility(INVISIBLE); } } } else { View currentBottomView = getCurrentBottomView(); - if (currentBottomView!=null && currentBottomView.getVisibility() != VISIBLE){ + if (currentBottomView != null && currentBottomView.getVisibility() != VISIBLE) { currentBottomView.setVisibility(VISIBLE); } } @@ -642,7 +643,7 @@ public class SwipeLayout extends FrameLayout { * to support it from API 8. */ public interface OnLayout { - public void onLayout(SwipeLayout v); + void onLayout(SwipeLayout v); } private List mOnLayoutListeners; @@ -655,47 +656,62 @@ public class SwipeLayout extends FrameLayout { public void removeOnLayoutListener(OnLayout l) { if (mOnLayoutListeners != null) mOnLayoutListeners.remove(l); } - public void clearDragEdge(){ + + public void clearDragEdge() { mDragEdges.clear(); } - public void setDrag(DragEdge dragEdge, int childId){ + + public void setDrag(DragEdge dragEdge, int childId) { clearDragEdge(); addDrag(dragEdge, childId); } - public void setDrag(DragEdge dragEdge, View child){ + + public void setDrag(DragEdge dragEdge, View child) { clearDragEdge(); addDrag(dragEdge, child); } - public void addDrag(DragEdge dragEdge, int childId){ + + public void addDrag(DragEdge dragEdge, int childId) { addDrag(dragEdge, findViewById(childId), null); } - public void addDrag(DragEdge dragEdge, View child){ + + public void addDrag(DragEdge dragEdge, View child) { addDrag(dragEdge, child, null); } - public void addDrag(DragEdge dragEdge, View child, ViewGroup.LayoutParams params){ - if(child==null) return; - if(params==null){ + public void addDrag(DragEdge dragEdge, View child, ViewGroup.LayoutParams params) { + if (child == null) return; + + if (params == null) { params = generateDefaultLayoutParams(); } - if(!checkLayoutParams(params)){ + if (!checkLayoutParams(params)) { params = generateLayoutParams(params); } int gravity = -1; - switch (dragEdge){ - case Left:gravity = Gravity.LEFT;break; - case Right:gravity = Gravity.RIGHT;break; - case Top:gravity = Gravity.TOP;break; - case Bottom:gravity = Gravity.BOTTOM;break; + switch (dragEdge) { + case Left: + gravity = Gravity.LEFT; + break; + case Right: + gravity = Gravity.RIGHT; + break; + case Top: + gravity = Gravity.TOP; + break; + case Bottom: + gravity = Gravity.BOTTOM; + break; } - if(params instanceof FrameLayout.LayoutParams){ + if (params instanceof FrameLayout.LayoutParams) { ((LayoutParams) params).gravity = gravity; } addView(child, 0, params); } + @Override public void addView(View child, int index, ViewGroup.LayoutParams params) { - if(child==null) return; + if (child == null) return; int gravity = Gravity.NO_GRAVITY; try { gravity = (Integer) params.getClass().getField("gravity").get(params); @@ -703,31 +719,31 @@ public class SwipeLayout extends FrameLayout { e.printStackTrace(); } - if(gravity>0){ + if (gravity > 0) { gravity = GravityCompat.getAbsoluteGravity(gravity, ViewCompat.getLayoutDirection(this)); - if((gravity & Gravity.LEFT) == Gravity.LEFT){ + if ((gravity & Gravity.LEFT) == Gravity.LEFT) { mDragEdges.put(DragEdge.Left, child); } - if((gravity & Gravity.RIGHT) == Gravity.RIGHT){ + if ((gravity & Gravity.RIGHT) == Gravity.RIGHT) { mDragEdges.put(DragEdge.Right, child); } - if((gravity & Gravity.TOP) == Gravity.TOP){ + if ((gravity & Gravity.TOP) == Gravity.TOP) { mDragEdges.put(DragEdge.Top, child); } - if((gravity & Gravity.BOTTOM) == Gravity.BOTTOM){ + if ((gravity & Gravity.BOTTOM) == Gravity.BOTTOM) { mDragEdges.put(DragEdge.Bottom, child); } - }else{ - for(Map.Entry entry : mDragEdges.entrySet()){ - if(entry.getValue() == null){ + } else { + for (Map.Entry entry : mDragEdges.entrySet()) { + if (entry.getValue() == null) { //means used the drag_edge attr, the no gravity child should be use set mDragEdges.put(entry.getKey(), child); break; } } } - if(child.getParent() == this){ + if (child.getParent() == this) { return; } super.addView(child, index, params); @@ -745,13 +761,13 @@ public class SwipeLayout extends FrameLayout { void layoutPullOut() { Rect rect = computeSurfaceLayoutArea(false); View surfaceView = getSurfaceView(); - if(surfaceView!=null){ + if (surfaceView != null) { surfaceView.layout(rect.left, rect.top, rect.right, rect.bottom); bringChildToFront(surfaceView); } rect = computeBottomLayoutAreaViaSurface(ShowMode.PullOut, rect); View currentBottomView = getCurrentBottomView(); - if(currentBottomView!=null){ + if (currentBottomView != null) { currentBottomView.layout(rect.left, rect.top, rect.right, rect.bottom); } } @@ -759,21 +775,22 @@ public class SwipeLayout extends FrameLayout { void layoutLayDown() { Rect rect = computeSurfaceLayoutArea(false); View surfaceView = getSurfaceView(); - if(surfaceView!=null){ + if (surfaceView != null) { surfaceView.layout(rect.left, rect.top, rect.right, rect.bottom); bringChildToFront(surfaceView); } rect = computeBottomLayoutAreaViaSurface(ShowMode.LayDown, rect); View currentBottomView = getCurrentBottomView(); - if(currentBottomView!=null){ + if (currentBottomView != null) { currentBottomView.layout(rect.left, rect.top, rect.right, rect.bottom); } } private boolean mIsBeingDragged; - private void checkCanDrag(MotionEvent ev){ - if(mIsBeingDragged) return; - if(getOpenStatus()==Status.Middle){ + + private void checkCanDrag(MotionEvent ev) { + if (mIsBeingDragged) return; + if (getOpenStatus() == Status.Middle) { mIsBeingDragged = true; return; } @@ -789,14 +806,14 @@ public class SwipeLayout extends FrameLayout { dragEdge = DragEdge.Left; } else if (distanceX < 0 && isRightSwipeEnabled()) { dragEdge = DragEdge.Right; - }else return; + } else return; } else { if (distanceY > 0 && isTopSwipeEnabled()) { dragEdge = DragEdge.Top; } else if (distanceY < 0 && isBottomSwipeEnabled()) { dragEdge = DragEdge.Bottom; - }else return; + } else return; } setCurrentDragEdge(dragEdge); } @@ -843,12 +860,13 @@ public class SwipeLayout extends FrameLayout { } mIsBeingDragged = !doNothing; } + @Override public boolean onInterceptTouchEvent(MotionEvent ev) { if (!isSwipeEnabled()) { return false; } - if(mClickToClose && getOpenStatus() == Status.Open && isTouchOnSurface(ev)){ + if (mClickToClose && getOpenStatus() == Status.Open && isTouchOnSurface(ev)) { return true; } for (SwipeDenier denier : mSwipeDeniers) { @@ -864,7 +882,7 @@ public class SwipeLayout extends FrameLayout { sX = ev.getRawX(); sY = ev.getRawY(); //if the swipe is in middle state(scrolling), should intercept the touch - if(getOpenStatus() == Status.Middle){ + if (getOpenStatus() == Status.Middle) { mIsBeingDragged = true; } break; @@ -873,11 +891,11 @@ public class SwipeLayout extends FrameLayout { checkCanDrag(ev); if (mIsBeingDragged) { ViewParent parent = getParent(); - if(parent!=null){ + if (parent != null) { parent.requestDisallowInterceptTouchEvent(true); } } - if(!beforeCheck && mIsBeingDragged){ + if (!beforeCheck && mIsBeingDragged) { //let children has one chance to catch the touch, and request the swipe not intercept //useful when swipeLayout wrap a swipeLayout or other gestural layout return false; @@ -914,7 +932,7 @@ public class SwipeLayout extends FrameLayout { case MotionEvent.ACTION_MOVE: { //the drag state and the direction are already judged at onInterceptTouchEvent checkCanDrag(event); - if(mIsBeingDragged){ + if (mIsBeingDragged) { getParent().requestDisallowInterceptTouchEvent(true); mDragHelper.processTouchEvent(event); } @@ -932,6 +950,7 @@ public class SwipeLayout extends FrameLayout { return super.onTouchEvent(event) || mIsBeingDragged || action == MotionEvent.ACTION_DOWN; } + public boolean isClickToClose() { return mClickToClose; } @@ -960,7 +979,7 @@ public class SwipeLayout extends FrameLayout { public boolean isRightSwipeEnabled() { View bottomView = mDragEdges.get(DragEdge.Right); - return bottomView!=null && bottomView.getParent()==this + return bottomView != null && bottomView.getParent() == this && bottomView != getSurfaceView() && mSwipesEnabled[DragEdge.Right.ordinal()]; } @@ -970,7 +989,7 @@ public class SwipeLayout extends FrameLayout { public boolean isTopSwipeEnabled() { View bottomView = mDragEdges.get(DragEdge.Top); - return bottomView!=null && bottomView.getParent()==this + return bottomView != null && bottomView.getParent() == this && bottomView != getSurfaceView() && mSwipesEnabled[DragEdge.Top.ordinal()]; } @@ -980,13 +999,14 @@ public class SwipeLayout extends FrameLayout { public boolean isBottomSwipeEnabled() { View bottomView = mDragEdges.get(DragEdge.Bottom); - return bottomView!=null && bottomView.getParent()==this + return bottomView != null && bottomView.getParent() == this && bottomView != getSurfaceView() && mSwipesEnabled[DragEdge.Bottom.ordinal()]; } public void setBottomSwipeEnabled(boolean bottomSwipeEnabled) { this.mSwipesEnabled[DragEdge.Bottom.ordinal()] = bottomSwipeEnabled; } + private boolean insideAdapterView() { return getAdapterView() != null; } @@ -1000,19 +1020,20 @@ public class SwipeLayout extends FrameLayout { } private void performAdapterViewItemClick() { - if(getOpenStatus()!= Status.Close) return; + if (getOpenStatus() != Status.Close) return; ViewParent t = getParent(); if (t instanceof AdapterView) { AdapterView view = (AdapterView) t; int p = view.getPositionForView(SwipeLayout.this); - if (p != AdapterView.INVALID_POSITION){ + if (p != AdapterView.INVALID_POSITION) { view.performItemClick(view.getChildAt(p - view.getFirstVisiblePosition()), p, view .getAdapter().getItemId(p)); } } } + private boolean performAdapterViewItemLongClick() { - if(getOpenStatus()!= Status.Close) return false; + if (getOpenStatus() != Status.Close) return false; ViewParent t = getParent(); if (t instanceof AdapterView) { AdapterView view = (AdapterView) t; @@ -1039,11 +1060,12 @@ public class SwipeLayout extends FrameLayout { } return false; } + @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); - if(insideAdapterView()){ - if(clickListener==null){ + if (insideAdapterView()) { + if (clickListener == null) { setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -1051,7 +1073,7 @@ public class SwipeLayout extends FrameLayout { } }); } - if(longClickListener==null){ + if (longClickListener == null) { setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View v) { @@ -1062,13 +1084,17 @@ public class SwipeLayout extends FrameLayout { } } } + OnClickListener clickListener; + @Override public void setOnClickListener(OnClickListener l) { super.setOnClickListener(l); clickListener = l; } + OnLongClickListener longClickListener; + @Override public void setOnLongClickListener(OnLongClickListener l) { super.setOnLongClickListener(l); @@ -1076,34 +1102,37 @@ public class SwipeLayout extends FrameLayout { } private Rect hitSurfaceRect; - private boolean isTouchOnSurface(MotionEvent ev){ + + private boolean isTouchOnSurface(MotionEvent ev) { View surfaceView = getSurfaceView(); - if(surfaceView==null){ + if (surfaceView == null) { return false; } - if(hitSurfaceRect == null){ + if (hitSurfaceRect == null) { hitSurfaceRect = new Rect(); } surfaceView.getHitRect(hitSurfaceRect); return hitSurfaceRect.contains((int) ev.getX(), (int) ev.getY()); } + private GestureDetector gestureDetector = new GestureDetector(getContext(), new SwipeDetector()); class SwipeDetector extends GestureDetector.SimpleOnGestureListener { @Override public boolean onSingleTapUp(MotionEvent e) { - if(mClickToClose && isTouchOnSurface(e)){ + if (mClickToClose && isTouchOnSurface(e)) { close(); } return super.onSingleTapUp(e); } + @Override public boolean onDoubleTap(MotionEvent e) { if (mDoubleClickListener != null) { View target; View bottom = getCurrentBottomView(); View surface = getSurfaceView(); - if (bottom!=null && e.getX() > bottom.getLeft() && e.getX() < bottom.getRight() + if (bottom != null && e.getX() > bottom.getLeft() && e.getX() < bottom.getRight() && e.getY() > bottom.getTop() && e.getY() < bottom.getBottom()) { target = bottom; } else { @@ -1151,27 +1180,32 @@ public class SwipeLayout extends FrameLayout { return mShowMode; } - /**return null if there is no surface view(no children) */ + /** + * return null if there is no surface view(no children) + */ public View getSurfaceView() { - if(getChildCount()==0) return null; + if (getChildCount() == 0) return null; return getChildAt(getChildCount() - 1); } - /**return null if there is no bottom view */ + /** + * return null if there is no bottom view + */ @Nullable - public View getCurrentBottomView(){ + public View getCurrentBottomView() { List bottoms = getBottomViews(); - if(mCurrentDragEdge.ordinal() < bottoms.size()){ + if (mCurrentDragEdge.ordinal() < bottoms.size()) { return bottoms.get(mCurrentDragEdge.ordinal()); } return null; } + /** * @return all bottomViews: left, top, right, bottom (may null if the edge is not set) */ public List getBottomViews() { ArrayList bottoms = new ArrayList(); - for(DragEdge dragEdge : DragEdge.values()){ + for (DragEdge dragEdge : DragEdge.values()) { bottoms.add(mDragEdges.get(dragEdge)); } return bottoms; @@ -1191,7 +1225,7 @@ public class SwipeLayout extends FrameLayout { */ public Status getOpenStatus() { View surfaceView = getSurfaceView(); - if(surfaceView==null){ + if (surfaceView == null) { return Status.Close; } int surfaceLeft = surfaceView.getLeft(); @@ -1209,48 +1243,48 @@ public class SwipeLayout extends FrameLayout { /** * Process the surface release event. * - * @param xvel xVelocity - * @param yvel yVelocity + * @param xvel xVelocity + * @param yvel yVelocity * @param isCloseBeforeDragged the open state before drag */ protected void processHandRelease(float xvel, float yvel, boolean isCloseBeforeDragged) { float minVelocity = mDragHelper.getMinVelocity(); View surfaceView = getSurfaceView(); DragEdge currentDragEdge = mCurrentDragEdge; - if(currentDragEdge == null || surfaceView == null){ + if (currentDragEdge == null || surfaceView == null) { return; } float willOpenPercent = (isCloseBeforeDragged ? .25f : .75f); - if(currentDragEdge == DragEdge.Left){ - if(xvel > minVelocity) open(); - else if(xvel < -minVelocity) close(); - else{ + if (currentDragEdge == DragEdge.Left) { + if (xvel > minVelocity) open(); + else if (xvel < -minVelocity) close(); + else { float openPercent = 1f * getSurfaceView().getLeft() / mDragDistance; - if(openPercent > willOpenPercent ) open(); + if (openPercent > willOpenPercent) open(); else close(); } - }else if(currentDragEdge == DragEdge.Right){ - if(xvel > minVelocity) close(); - else if(xvel < -minVelocity) open(); - else{ + } else if (currentDragEdge == DragEdge.Right) { + if (xvel > minVelocity) close(); + else if (xvel < -minVelocity) open(); + else { float openPercent = 1f * (-getSurfaceView().getLeft()) / mDragDistance; - if(openPercent > willOpenPercent ) open(); + if (openPercent > willOpenPercent) open(); else close(); } - }else if(currentDragEdge == DragEdge.Top){ - if(yvel > minVelocity) open(); - else if(yvel < -minVelocity) close(); - else{ + } else if (currentDragEdge == DragEdge.Top) { + if (yvel > minVelocity) open(); + else if (yvel < -minVelocity) close(); + else { float openPercent = 1f * getSurfaceView().getTop() / mDragDistance; - if(openPercent > willOpenPercent ) open(); + if (openPercent > willOpenPercent) open(); else close(); } - }else if(currentDragEdge == DragEdge.Bottom){ - if(yvel > minVelocity) close(); - else if(yvel < -minVelocity) open(); - else{ + } else if (currentDragEdge == DragEdge.Bottom) { + if (yvel > minVelocity) close(); + else if (yvel < -minVelocity) open(); + else { float openPercent = 1f * (-getSurfaceView().getTop()) / mDragDistance; - if(openPercent > willOpenPercent ) open(); + if (openPercent > willOpenPercent) open(); else close(); } } @@ -1269,7 +1303,7 @@ public class SwipeLayout extends FrameLayout { public void open(boolean smooth, boolean notify) { View surface = getSurfaceView(), bottom = getCurrentBottomView(); - if(surface == null){ + if (surface == null) { return; } int dx, dy; @@ -1282,7 +1316,7 @@ public class SwipeLayout extends FrameLayout { surface.layout(rect.left, rect.top, rect.right, rect.bottom); if (getShowMode() == ShowMode.PullOut) { Rect bRect = computeBottomLayoutAreaViaSurface(ShowMode.PullOut, rect); - if(bottom!=null){ + if (bottom != null) { bottom.layout(bRect.left, bRect.top, bRect.right, bRect.bottom); } } @@ -1330,7 +1364,7 @@ public class SwipeLayout extends FrameLayout { */ public void close(boolean smooth, boolean notify) { View surface = getSurfaceView(); - if(surface==null){ + if (surface == null) { return; } int dx, dy; @@ -1364,6 +1398,7 @@ public class SwipeLayout extends FrameLayout { /** * a helper function to compute the Rect area that surface will hold in. + * * @param open open status or close status. */ private Rect computeSurfaceLayoutArea(boolean open) { @@ -1396,9 +1431,9 @@ public class SwipeLayout extends FrameLayout { if (mCurrentDragEdge == DragEdge.Left || mCurrentDragEdge == DragEdge.Right) { bb = rect.bottom; - br = bl + (bottomView == null? 0 :bottomView.getMeasuredWidth()); + br = bl + (bottomView == null ? 0 : bottomView.getMeasuredWidth()); } else { - bb = bt + (bottomView == null? 0 :bottomView.getMeasuredHeight()); + bb = bt + (bottomView == null ? 0 : bottomView.getMeasuredHeight()); br = rect.right; } } else if (mode == ShowMode.LayDown) { @@ -1438,7 +1473,7 @@ public class SwipeLayout extends FrameLayout { } public interface DoubleClickListener { - public void onDoubleClick(SwipeLayout layout, boolean surface); + void onDoubleClick(SwipeLayout layout, boolean surface); } private int dp2px(float dp) { @@ -1446,34 +1481,41 @@ public class SwipeLayout extends FrameLayout { } - /**Deprecated, use {@link #setDrag(DragEdge, View)} */ + /** + * Deprecated, use {@link #setDrag(DragEdge, View)} + */ @Deprecated public void setDragEdge(DragEdge dragEdge) { clearDragEdge(); - if(getChildCount() >= 2){ - mDragEdges.put(dragEdge, getChildAt(getChildCount()-2)); + if (getChildCount() >= 2) { + mDragEdges.put(dragEdge, getChildAt(getChildCount() - 2)); } setCurrentDragEdge(dragEdge); } protected void onViewRemoved(View child) { - for(Map.Entry entry : new HashMap(mDragEdges).entrySet()){ - if(entry.getValue() == child){ + for (Map.Entry entry : new HashMap(mDragEdges).entrySet()) { + if (entry.getValue() == child) { mDragEdges.remove(entry.getKey()); } } } - public Map getDragEdgeMap(){ + + public Map getDragEdgeMap() { return mDragEdges; } - /**Deprecated, use {@link #getDragEdgeMap()} */ + /** + * Deprecated, use {@link #getDragEdgeMap()} + */ @Deprecated public List getDragEdges() { return new ArrayList(mDragEdges.keySet()); } - /**Deprecated, use {@link #setDrag(DragEdge, View)} */ + /** + * Deprecated, use {@link #setDrag(DragEdge, View)} + */ @Deprecated public void setDragEdges(List dragEdges) { clearDragEdge(); @@ -1481,19 +1523,22 @@ public class SwipeLayout extends FrameLayout { DragEdge dragEdge = dragEdges.get(i); mDragEdges.put(dragEdge, getChildAt(i)); } - if(dragEdges.size()==0 || dragEdges.contains(DefaultDragEdge)){ + if (dragEdges.size() == 0 || dragEdges.contains(DefaultDragEdge)) { setCurrentDragEdge(DefaultDragEdge); - }else{ + } else { setCurrentDragEdge(dragEdges.get(0)); } } - /**Deprecated, use {@link #addDrag(DragEdge, View)} */ + /** + * Deprecated, use {@link #addDrag(DragEdge, View)} + */ @Deprecated public void setDragEdges(DragEdge... mDragEdges) { clearDragEdge(); setDragEdges(Arrays.asList(mDragEdges)); } + /** * Deprecated, use {@link #addDrag(DragEdge, View)} * When using multiple drag edges it's a good idea to pass the ids of the views that @@ -1508,22 +1553,22 @@ public class SwipeLayout extends FrameLayout { } private float getCurrentOffset() { - if(mCurrentDragEdge==null) return 0; + if (mCurrentDragEdge == null) return 0; return mEdgeSwipesOffset[mCurrentDragEdge.ordinal()]; } - private void setCurrentDragEdge(DragEdge dragEdge){ + private void setCurrentDragEdge(DragEdge dragEdge) { mCurrentDragEdge = dragEdge; updateBottomViews(); } private void updateBottomViews() { View currentBottomView = getCurrentBottomView(); - if(currentBottomView!=null){ + if (currentBottomView != null) { if (mCurrentDragEdge == DragEdge.Left || mCurrentDragEdge == DragEdge.Right) { mDragDistance = currentBottomView.getMeasuredWidth() - dp2px(getCurrentOffset()); - } - else mDragDistance = currentBottomView.getMeasuredHeight() - dp2px(getCurrentOffset()); + } else + mDragDistance = currentBottomView.getMeasuredHeight() - dp2px(getCurrentOffset()); } if (mShowMode == ShowMode.PullOut)